While 循环和 cin char, int
While loop and cin char, int
我只是想弄清楚这个:
我有以下代码:
#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
)。
现在我的问题是:为什么这样工作?我该如何解决?
提前致谢。
除了无用的变量声明x,我认为你的代码没有任何问题。
如果 n 填充为 2,则结果始终为 1 并打印 0,无论 cin >> s;是否取消注释。
我只是想弄清楚这个:
我有以下代码:
#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
)。
现在我的问题是:为什么这样工作?我该如何解决? 提前致谢。
除了无用的变量声明x,我认为你的代码没有任何问题。
如果 n 填充为 2,则结果始终为 1 并打印 0,无论 cin >> s;是否取消注释。