再请教一道问题#include<stdio.h>main(){int y=10;do {y--;} while(--y);printf("%d\n",y--);}这道题目最后运行结果是0,为什么?
人家说运行次数为0,不是说结果为0.循环条件在满足时是继续执行循环体的.不满足则跳出循环继续执行以后的语句.
这个循环要执行完,必然有--y==0;此时推出此时的y==1.判断之后y==0.再执行printf("",y--)输出0,此时y==-1.
也就是说while括号里的要是0即假才跳出循环,所以推出--y=0,然后再逆推出y==1,可是y==1时y--应该为1才对呀?