绞杀榕的花语是什么:[C语言]为什么这是一个死循环?
来源:百度文库 编辑:中科新闻网 时间:2024/07/08 08:21:41
main(){
int x=3;
do
printf("%3d",x--);
while(--x); (终会到0呀!然后中断就不做循环体了吗?)
}
to 1
逻辑值?
应该不是
知道的来
int x=3;
do
printf("%3d",x--);
while(--x); (终会到0呀!然后中断就不做循环体了吗?)
}
to 1
逻辑值?
应该不是
知道的来
呵呵,你那个从1直接到-1了呀,永远不会是0呵呵.
首先打印3,x变成2,到while的时候--x为1,然后打印1,x变0,到while的时候--x变-1了,这样就跳过0了呵呵
while(--x)
--x 返回的是什么类型的值啊?
“0” ==>false;
“非0” ==>true;
int x=3;
do
printf("%3d\n",x--);
while(x--);/*完成后-1*/
/*因为减了2,所以必须是2n*/
int x=4;
do
printf("%d\n",x--);
while(--x);/*完成前-1*/
while(x)就可以了
第2次循环x初始是1
减了一次1到while语句中先执行--再判断
此时x=-1了
我不知道你的目的是什么,不过X每次循环都会减两个,怎么会到0呢?