我有这个代码:
int i = 0, j = 0;
for(i=0,j=0;i<5,j<25;i++,j++);
cout<<i <<" "<<j;
Run Code Online (Sandbox Code Playgroud)
我不知道它为什么输出25 25.我真的不明白为什么它的价值25 i和j.任何人都可以解释一下为什么它从第二个条件达到25的价值?这是在一个for循环中检查两个条件的问题吗?
这是逗号运算符的效果.这意味着它忽略了测试的第一个参数,并返回第二个测试结果.
因为你;在循环结束时有分号()
for(i=0,j=0;i<5,j<25;i++,j++);
^
Run Code Online (Sandbox Code Playgroud)
你的for循环一直"无声地"执行(只考虑j<25条件),当它完成时,两个变量的值都是25.
如果要在循环执行时查看输出以验证此输出,请;从for语句末尾删除.
如果你想根据两者的值终止循环i < 5,j < 25你可能想要使用&&(和)运算符.
| 归档时间: |
|
| 查看次数: |
492 次 |
| 最近记录: |