#include <stdio.h>
void main()
{int i,b,k=0;
for(i=1;i<=5;i++)
{b=i%2;
while(--b>=0)
k++;
}
printf("%d,%d",k,b);
}
我估计你是在想为什么b最后是=-1 而不是等于0。
因为最后对b操作的语句是while(--b>=0) ,而不是if(--b>=0)。所以当i=5时 b=1。b-1=0满足while条件,k+1(此时k+1=3)。然后继续循环。b-1=-1, b>=0不满足条件。跳出循环。这就是b=-1的原因。