count = 0;count = count++;最后count为什么等于0?
发布网友
发布时间:2022-05-29 05:42
我来回答
共4个回答
热心网友
时间:2023-10-08 18:40
自加问题。 刚开始count=0; 当执行到count=count++时,这是一个赋值语句。
++ 这个如果在count后面的话。 先执行赋值语句,count再自己加一。
count=count++相当与
count=count;
count=count+1;
热心网友
时间:2023-10-08 18:40
加了详细注释:
#include<stdio.h>
void main()
{
int count,i;
int x,y,z;
x=y=z=0;//x,y,z初始化为0
scanf("%d",&count);//输入循环次数保存到count
for(i=0;i<count;i++)//循环次数为count
{
x=(x+1)%2;//求x+1除以2的余数,并赋值给x
y=(y+1)%3;//求y+1除以2的余数,并赋值给y
z=(z+1)%5;//求z+1除以2的余数,并赋值给z
}
// 上面的这个循环,其实作用和下面的3行代码是等效的:
// x=count%2;
// y=count%3;
// z=count%5;
// 因此很容易就可以得出:count=10,x=0,y=1,z=0, count=17,x=1,y=2,z=2
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
热心网友
时间:2023-10-08 18:41
count++之后count=1,但(count++)=0
所以最后count=0
热心网友
时间:2023-10-08 18:42
count=count++;
赋值操作是最后执行的,那么赋值之前的一步是将0给count,count++是在将0给count之后再加,所以编译器不再执行++。