void main() { int x=3,y=0; while(x--) ; { y++; } 我想知道,为什么x=-1 ?
答案:3 悬赏:10 手机版
解决时间 2021-02-10 15:24
- 提问者网友:鼻尖触碰
- 2021-02-09 21:56
void main() { int x=3,y=0; while(x--) ; { y++; } 我想知道,为什么x=-1 ?
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-02-09 22:04
循环第一次 while(x--)首先判断while语句时x=3,之后进行x--;此时x=2
循环第二次 while(x--)首先判断while语句时x=2,之后进行x--;此时x=1
循环第三次 while(x--)首先判断while语句时x=1,之后进行x--;此时x=0
循环第四次 while(x--)首先判断while语句时x=0,此时跳出循环语句,之后进行x--;此时x=-1
懂了吗
循环第二次 while(x--)首先判断while语句时x=2,之后进行x--;此时x=1
循环第三次 while(x--)首先判断while语句时x=1,之后进行x--;此时x=0
循环第四次 while(x--)首先判断while语句时x=0,此时跳出循环语句,之后进行x--;此时x=-1
懂了吗
全部回答
- 1楼网友:長槍戰八方
- 2021-02-10 00:03
宏在编译的时候,会直接替换为代码,展开之后如下:
int x=3,y=0; while(x--){ y++;}
printf("x=%d,y=%d",x,y);
while(x--)中,先进行判断操作,后进行--操作,但是即使x==0时,while(x)为假,注意这时还有一次x--操作
综上所述,while循环有3次,x--有4次,故答案为x=-1,y=3
- 2楼网友:像个废品
- 2021-02-09 23:33
--运算符是先判断后自减,while(x--) 首先x=0 while循环退出,然后x自减变成-1
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯