#includeint main(void){int y,a;y=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}printf("%d,%d\n",a,y);}为什么运行出来是1 -2我纠结了很久还是-1 -2
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/25 02:29:45
![#includeint main(void){int y,a;y=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}printf(](/uploads/image/z/13229004-12-4.jpg?t=%23includeint+main%28void%29%7Bint+y%2Ca%3By%3D2%2Ca%3D1%3Bwhile%28y--%21%3D-1%29%7Bdo%7Ba%2A%3Dy%3Ba%2B%2B%3B%7Dwhile%28y--%29%3B%7Dprintf%28%22%25d%2C%25d%5Cn%22%2Ca%2Cy%29%3B%7D%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%90%E8%A1%8C%E5%87%BA%E6%9D%A5%E6%98%AF1+-2%E6%88%91%E7%BA%A0%E7%BB%93%E4%BA%86%E5%BE%88%E4%B9%85%E8%BF%98%E6%98%AF-1+-2)
#includeint main(void){int y,a;y=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}printf("%d,%d\n",a,y);}为什么运行出来是1 -2我纠结了很久还是-1 -2
#include
int main(void)
{
int y,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d\n",a,y);
}
为什么运行出来是1 -2
我纠结了很久还是-1 -2
#includeint main(void){int y,a;y=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}printf("%d,%d\n",a,y);}为什么运行出来是1 -2我纠结了很久还是-1 -2
/*试一下这个吧,试着把程序中的变化打印出来.内层循环只在第一次外循环时进行,当第一次内循环结束后外循环才会继续,而且内循环在之后,y=-1,外循环也不再进行,直接退出.*/
#include
int main(void)
{
int y,a,i;
i=1,y=2,a=1;
printf("%before all,a = %d,y = %d\n",a,y);
while(y--!=-1)
{
printf("first while begin,a = %d,y = %d\n",a,y);
do
{
printf("\t%dst dowhile begin,\ta = %d,y = %d\n",i,a,y);
a*=y;
a++;
printf("\t%dst dowhile end,\ta = %d,y = %d\n",i,a,y);
i++;
}
while(y--);
printf("first while end,a = %d,y = %d\n",a,y);
}
printf("%d,%d\n",a,y);
//getchar();
}