这里给大家带来一道C语言题目分享
int main() {
int x = 0, y = 5, z = 3;
while (z-- > 0 && ++x < 5)
y = y - 1;
printf("%d,%d,%d", x, y, z);
}
这道题主要考察如下几个知识点:
- 自增自减如--x,和x--的区别
- &&,||的使用特性
接下来我将详细讲解这道题:
首先z-->0,z--代表我们先用z和0比较,然后再对z进行自减,然后&&的特性为只要左端为假,就不进行后面表达式的运算。
x | y | z |
0 | 5 | 3 |
1 | 4 | 2 |
2 | 3 | 1 |
3 | 2 | 0 |
3 | 2 | -1 |
当z为0时,z>0条件不满足,即不进行后面的运算,但z--后,z=-1。