我无法理解为什么循环会退出字符变量的值i =' \ x1'
#include <iostream>
using namespace std;
int main()
{
char i;
for (i = 1; i < 10, i++;)
{
cout << i << endl;
}
return 0;
}
有人可以解释一下这种行为吗?
答案 0 :(得分:2)
这是错误的
for (i = 1; i < 10, i++;)
/* ^ should be ; */
答案 1 :(得分:1)
您只为循环声明了3个区域,但将增量语句放在中间区域,并将增量区域留空。我不知道您的编译器将选择执行的中间区域中的哪个语句。最好不要试图变得可爱并欺骗你的编译器。更别说一些同事将从现在开始阅读您的代码并转到WTF ???
for循环有3个由分号分隔的不同区域:
尽量保持简单。如果它会变得更复杂,那么使用while循环。
答案 2 :(得分:1)
我最终成为1的原因是当i ++为零时终止循环,那么我将变为1(这就是你使用的++运算符的形式)。正如另一个回答所指出的那样,一旦你通过用分号替换逗号将i ++移出条件来修复你的代码,那么我将根据需要一直到10。
答案 3 :(得分:0)
for (i = 1; i < 10; i++)
您写错了for
语句。