c语言问题 简单

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:12:28
main()
{
int x=2;
while(x--);
printf("%d",--x);
}

x--什么意思为什么答案为-2
while(x--)这里是x--不等于0还是等于0

x=2;x--一次后 x为1 但x--值为2 通过while
x=1;x--后 x为0 但x--值为1 通过while
x=0;x--后 x为-1 但x--为0 跳出while
此时x=-1;
执行 --x 所以为-2;

while是循环,条件是x--,当循环条件为真则进入printf输出,

当退出while的时候,x是0,不等于0的时候,就还在while循环里面,它还需要-1,那么就是-1了
在printf的时候,是先-1,再输出,所以是-2了.

区别如下:
m=x--:
m=x;
x=x-1;

m=--x;
x=x-1;
m=x;