【发布时间】:2017-10-22 03:40:51
【问题描述】:
#include<stdio.h>
void main() {
int x = 0,y = 0,k = 0;
for(k = 0; k < 5; k++){
if(++x > 2 && ++y > 2) x++;
}
printf("x = %d and y = %d",x,y);
}
我无法理解上述代码如何生成 x = 6 和 y = 3。
已解决:我不知道当有 && 时,如果第一个语句的计算结果为 false,那么第二个语句将不会被执行。
【问题讨论】:
-
你有什么不明白的地方?增量? if 语句?什么?
-
使用调试器或
printf查看每次迭代的每个变量的值。它将帮助您逐步了解它是如何工作的 -
在循环中打印 k、x 和 y 并查看发生了什么
-
谁 CVed 为 dup:不是!
-
我撤回了我的投票.....不知道为什么没有。我投票决定重新开放
标签: c post-increment pre-increment and-operator