我只想弄明白:
我有以下代码:
#include <iostream>
using namespace std;
int main() {
int n, x = 0;
cin >> n;
char s[3];
while (n-- > 0) {
cout << n << endl;
// cin >> s;
}
return 0;
}
如果我用2填充n,一切正常(1
和0
打印),但如果我取消注释cin >> s;
行,则只进行第一次迭代(1
)将被执行(并且输入被保存到s
)。
现在我的问题:为什么这样工作?我该如何解决? 提前谢谢。
答案 0 :(得分:0)
除了变量 x 的无用声明之外,我认为您的代码没有任何问题。
如果n用2填充,结果总是1和0被打印,无论cin&gt;&gt; S;是否取消注释。