这是我的代码:
#include <iostream>
using namespace std;
int main(){
char inp[5], out[4];
cin >> inp >> out;
cout << inp << endl;
cout << out << endl;
system("pause");
return 0;
}
当我输入:
12345 6789
它给出结果为:
6789
为什么我无法成功保存由5个字符组成的'inp'数组并导致没有任何显示?第二次输入看起来正常。然而,当我设置out[3]或out[5]时,它似乎能够正确工作?这似乎是由于两个由[5]组成的字符数组后跟[4]引起的问题...
'\0'
)。幸运的是,此时没有出现任何问题。然后你又向一个4个字符的数组写入了另外11个字符。在out
中没有足够的空间之后,数据溢出到了inp
中。修正你的数组大小或限制输入的长度。 - Paul Roub