这个问题引起的代码是这个
#include <iostream>
int main() {
char name[20];
std::cout << "enter a name....";
std::cin >> name;
std::cout << "the name you entered was " << name;
system("pause");
}
相反,它显示了一些奇怪的东西:p 4464 70000 7000028207Press any key to continue . . .
我正在使用Dev-C++ IDE及其默认编译器。这是为什么?
最佳答案
如果您告诉我们您所输入的确切信息会很好,但是问题可能是您没有考虑空终止符'\0'
。当您使用std::cin时,它将在输入流的末尾添加一个空终止符。因此,如果输入的字符数为20个,则实际上应使用大小为21的char数组。当使用20个字符时,程序将在数组末尾写入null终止符,这将导致 undefined 的行为。
关于c++ - std::cout不显示任何内容,也不显示std::cin要求输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63382002/