关于j的循环中,出现了j*=i,关于j的运算。因此程序执行陷入死循环。
可令m=j,避免在循环体内改变j的值。
#include
main()
{
int i=1,j,m,k=0;
for(j=1;j<=101;j+=2)
{
m=j*i;
k=k+m;
i=-i;
}
printf("sum=%d\n",j);
}
j*=i; 影响了循环。
改成:
int i=1,j,k=0;
for(j=1;j<=101;j+=2)
{
k=k+j*i;
i=-i;
}
printf("sum=%d j=%d\n",k,j);
总和在 k 中,不在 j 中。