int y=2,a=1;a*=y;a++;是不是每次执行循环是a都是1呀?

来源:百度知道 编辑:UC知道 时间:2024/06/16 18:31:39
#include<stdio.h>
void main()
{
int y=2,a=1;
while(y--!=-1)
{
do{
a*=y;
a++;
}while(y--);
printf("%d,%d\n",a,y);
}
}
麻烦高手把过程讲下谢谢了!
不是我不理解a++而是答案为什么是1,-1;执行下一次循环时a就是上次结果的值还是就现在的初值?

a不是进行过++吗?

a++之后,就会变成2哦。

你是不是不理解a++;啊,实际上当句a还是原来的值,但是执行下一句的时候,a的值已经是加过1的值了

a*=y 的意思是a=a*y 循环一次之后a=1*2了就

这个程序本身写的就复杂了,最外边的while循环完全可以省略

可省略