【发布时间】:2011-11-06 15:18:27
【问题描述】:
代码:
#include <iostream>
#define BUFF 100
using namespace std;
int main(int argc, char* argv[])
{
char input[BUFF];
cout << "Input:\n>";
cin >> input;
cout << "\n\nOutput:" << input;
cin >> input;
cin >> input;
}
为什么当您将输入读入 char 数组时,它会跳过空格?哦,还有 2 个 cin(最后),因为它的行为有点奇怪,如果在有 1 个 cin 时输入空格,它就会退出......也不知道为什么。
EG
我输入cup cake,它输出cup
【问题讨论】:
-
跳过空格是什么意思?请举个例子。
-
@George 我输入杯子蛋糕,它输出杯子
-
代码错误。如果我提供的输入大于 BUFFER 大小,它将继续存储它,最终破坏内存。检查读取字符串(类)的
getline。 -
@George Kastrinis 那不是我的问题
-
@Flyphe:这并不意味着您不应该修复它。这就是为什么他在评论而不是回答中说的。