【发布时间】:2020-06-26 13:43:57
【问题描述】:
为什么程序输出5次雷击,而不是连续输出1,2,3次雷击?
int main()
{
int flashes[5] = {1, 2, 3, 4, 5};
int x;
for (x = 0; x < 4; x++);
{
cout<<flashes[x]<<" Lightning Strike"<<endl;
}
return 0;
}
【问题讨论】:
-
注意
;后面的for (...),它被解释为一个空循环体。后面的所有内容都不是循环体的一部分。 -
提高你的警告级别并注意他们,
-Wallfor gcc 告诉你什么是错误的 -
一些也能捕捉到这一点的东西是像你应该做的那样在循环中声明
x。 -
这个和类似的拼写错误让我相信将括号放在同一行不太容易出错,尽管大多数人使用不同的约定