gpt4 book ai didi

c++ - 打印数组显示符号而不是字符 C++

转载 作者:太空宇宙 更新时间:2023-11-03 10:44:30 25 4
gpt4 key购买 nike

嘿,我在学习 C++ 中的数组时遇到了问题。

我必须开发的程序是一个简单的数组,它读取一个名称(以字符形式)并在输入后打印它。

我的程序读入它但以符号而不是字符输出?有人可以解释我做错了什么吗?

Char name[10];
cout <<"Give a name: ";
cin >> name[10];
cout << endl;

for (int i=0; i<strlen(name);i++)
{
cout << name[i];
}

有人可以解释我的代码哪里出了问题,并用符号而不是我输入的普通字符来表示吗?

最佳答案

这个

cin >> name[10];

只将一个字符读入name[10]。数组的开头保持未初始化状态,它包含垃圾,也就是您所看到的“符号”。 name[10] 实际上超出了您的数组范围。

要将 C 风格的字符串读入 char 数组,您应该这样做

cin >> name;

但是最好不要使用原始数组来存储字符串,尤其是当您必须处理长度不可预测的用户输入时。学习改用 std::string

关于c++ - 打印数组显示符号而不是字符 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25345846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com