C语言中while(x--)是什么意思?
答案:1 悬赏:50 手机版
解决时间 2021-04-04 09:07
- 提问者网友:wodetian
- 2021-04-03 10:40
C语言中while(x--)是什么意思?
最佳答案
- 五星知识达人网友:白昼之月
- 2021-04-03 11:53
首先了解下优先级与结合性
1.--为自减运算符,第二优先级,自右至左
2.x--这个表达式:先使用x的值,接着x=x-1;
整个表达式的值为x
看
while(x--)
{
循环体
}
首先
①判断x--这个表达式的值是否为0(即x的值),如果为0,不执行循环体
但仍然执行x=x-1;
例如:
int x=0; 则不执行循环体,x最终值为-1
②如果x的初值不为0,判断x--这个表达式的值是否为0,(不论是否为0)x=x-1,
如果x--表达式的值不为0,在执行循环体.(真绕...看例子)
例如:
int x=3;
while(x--)
{
printf("while\n");
}
printf("%d\n",x);
①3-->不为0-->x=x-1-->x=2
执行循环体 while
②2-->不为0-->x=x-1-->x=1
同上
③1-->不为0-->x=x-1-->x=0
同上
④注意 此时x=0,将不再执行循环体,但x=x-1;-->x=-1
(建议你逐步调试,很清晰)
1.--为自减运算符,第二优先级,自右至左
2.x--这个表达式:先使用x的值,接着x=x-1;
整个表达式的值为x
看
while(x--)
{
循环体
}
首先
①判断x--这个表达式的值是否为0(即x的值),如果为0,不执行循环体
但仍然执行x=x-1;
例如:
int x=0; 则不执行循环体,x最终值为-1
②如果x的初值不为0,判断x--这个表达式的值是否为0,(不论是否为0)x=x-1,
如果x--表达式的值不为0,在执行循环体.(真绕...看例子)
例如:
int x=3;
while(x--)
{
printf("while\n");
}
printf("%d\n",x);
①3-->不为0-->x=x-1-->x=2
执行循环体 while
②2-->不为0-->x=x-1-->x=1
同上
③1-->不为0-->x=x-1-->x=0
同上
④注意 此时x=0,将不再执行循环体,但x=x-1;-->x=-1
(建议你逐步调试,很清晰)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯