#include<stdio.h>
int main( )
{ int y=2,a=1;
while(y- -!=-1)
{ do{a * =y; a++;} while(y- -); }
printf(“%d,%d,a,y);
return 0
}
其中有不少小的错误,作为程序它是不能运行的。
#include<stdio.h>运行后的输出是:
1,-2
分析运行过程:
y=2,a=1;
判断,为真,y变为1
进入do循环:
a=1*1=1; a++变为2
内循环判断y--为真,y变为0;
再次内循环:
a=2*0=0; a++变为1
内循环判断y--为假,y变为-1;
外循环判断为假,y变为-2;
所以,最后的输出是1,-2
我要的是过程
追答你应该是不懂 while语句和do while 语句的用法。
++y 和 --y都是在 先进行自加或自减后,在进入while循环中判断。
y++和 y--是先进行while循环中判断后,在对y的值进行加减。
后面是我的思路你大概看下
while语句中的内容如果成立了,则执行while循环,不成立结束while循环,。y=2,一开始while不等于-1.所以循环,y自减为1.执行后面语句。a=1x1=1; ++后a=2。 y不等于0,所以要循环,y自减为0.后执行a=1x0=0.a自加为1.因为y=0所以不执行do{}里面的循环,y自减后y=-1.在执行whiel再循环重新判断-1等于-1所以不循环,y自减为-2.
最后输出a=1,y=-2
为什么,过程可以写一下么,或者我做不出来的关键步骤,麻烦您了
你答案对了