C语言高手进来帮帮忙
main(){inty=10do{y--;}while(--y);printf("%d\n",y--);}答案是什么,麻烦详细点我初学者~...
main()
{
int y=10
do{y--;}while(--y);
printf("%d\n",y--);
} 答案是什么,麻烦详细点我初学者~ 展开
{
int y=10
do{y--;}while(--y);
printf("%d\n",y--);
} 答案是什么,麻烦详细点我初学者~ 展开
4个回答
展开全部
0。
解释一下:开始y=10,循环开始,do{y--;}每次执行时做。y--可以写成y=y-1。然后判断条件
while(--y) 其中--y可以写成y=y-1(每次循环一遍y都要减2,判断条件中的y前要被重新赋值即y=y-1后的值,非0继续执行)。
(注:y--与--y有区别。
例如 y--
y=1;
printf("%d",y--)‘;这个答案是1,在执行过程中y--将分成2个语句来执行,先执行打印y,即先打印1,在执行y=y-1;如果你在后面在加一句printf("%d",y);那么y此时就等于0了。
--y
y=1;
printf("%d",--y);这个答案是0,在执行过程中--y也将分成2个语句来执行,它是先执行y=y-1后,在执行printf("%d",y)。
所以说,--在前表示先减在做其它语句,如果--在后表示先做其它语句在自减。如果是单独的一句y--;或--y;那么两句实现的功能是一样的。
while{--y},当y在做完y=y-1工作后,再判断y的值,如果y=0(false),那么就停止循环。
在执行最后一条printf前y已经为0,但在执行printf时先打印的是 y,即0, 在去运算y--在程序运行完以后,y的终值是-1。
解释一下:开始y=10,循环开始,do{y--;}每次执行时做。y--可以写成y=y-1。然后判断条件
while(--y) 其中--y可以写成y=y-1(每次循环一遍y都要减2,判断条件中的y前要被重新赋值即y=y-1后的值,非0继续执行)。
(注:y--与--y有区别。
例如 y--
y=1;
printf("%d",y--)‘;这个答案是1,在执行过程中y--将分成2个语句来执行,先执行打印y,即先打印1,在执行y=y-1;如果你在后面在加一句printf("%d",y);那么y此时就等于0了。
--y
y=1;
printf("%d",--y);这个答案是0,在执行过程中--y也将分成2个语句来执行,它是先执行y=y-1后,在执行printf("%d",y)。
所以说,--在前表示先减在做其它语句,如果--在后表示先做其它语句在自减。如果是单独的一句y--;或--y;那么两句实现的功能是一样的。
while{--y},当y在做完y=y-1工作后,再判断y的值,如果y=0(false),那么就停止循环。
在执行最后一条printf前y已经为0,但在执行printf时先打印的是 y,即0, 在去运算y--在程序运行完以后,y的终值是-1。
展开全部
答案是0,但最终y是-1
当y循环到2是do{y--;}后y=1
while(--y)(为0,不再循环)此时y=0
打印时,先使用y值再自减,所以答案是0,但最终y是-1
当y循环到2是do{y--;}后y=1
while(--y)(为0,不再循环)此时y=0
打印时,先使用y值再自减,所以答案是0,但最终y是-1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是0。
y--是先取y的值,再令y减一。
--y是先令y减一,再取y的值。
while()里的值减到0的时候循环停止,所以执行完循环,y=0。
打印时先打印y,再令y减一,所以最后输出y=0,但之后y=-1。
y--是先取y的值,再令y减一。
--y是先令y减一,再取y的值。
while()里的值减到0的时候循环停止,所以执行完循环,y=0。
打印时先打印y,再令y减一,所以最后输出y=0,但之后y=-1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询