Kah*_*Kah 1 c++ arrays symbols
嘿,我在使用C++学习数组时遇到了问题.
我必须开发的程序是一个简单的数组,它读入一个名字(在char中)并在输入后打印它.
我的程序读取它但输出符号,而不是字符?有人可以解释一下我做错了什么吗?
Char name[10];
cout <<"Give a name: ";
cin >> name[10];
cout << endl;
for (int i=0; i<strlen(name);i++)
{
cout << name[i];
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释我的代码中出错的地方并将其放在符号中,而不是我给出的普通字符吗?
这个
cin >> name[10];
Run Code Online (Sandbox Code Playgroud)
只读一个字符name[10].数组的开头仍然未初始化,它包含垃圾,这就是你所看到的"符号".并且name[10]实际上是你的数组的界限.
要将C风格的字符串读入char数组,您应该这样做
cin >> name;
Run Code Online (Sandbox Code Playgroud)
但是你最好不要使用原始数组来存储字符串,特别是当你必须处理不可预测长度的用户输入时.学会std::string改用.
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |