while循环,我的a的最终值为什么是0呢?
#include<stdio.h>main(){ int a=5; while(a--) printf("%d\n",a);}
而老师说的是-1。
a--为0,跳出循环,那a就是-1啊
int类型没有-1吧- -
回复 荌靜ޓއއ:int是整数,怎么会没有-1。
但是你输出的时候还没跳出循环。所以最后是0
回复 荌靜ޓއއ:是-1没错当第五次循环之后a为0 不满足条件跳出循环 你可以在printf后面再加一个printf输出最后的a就看出来了
是-1没错当第五次循环之后a为0 不满足条件跳出循环 你可以在printf后面再加一个printf输出最后的a就看出来了
a--与--a的区别就是,a--在执行当前语句时a--=a的值,但是执行完当前语句后会自减一,而--a是执行当前语句就已经自减一了,所以就本题而言,a--等于0执行while(a--)判断后,a还要自减一,所以答案是-1