for(i=1;i<=100;i++)
{
sum=sum+flag*i;
flag=-flag;
i++;
}
printf("sum=%d\n",sum);
return 0;
}
你就把flag当做1来运算
需要负数时,把flag乘-1,flag就成了-1,把他与i相乘,i就成了负数
第二次乘-1时,flag就又变为+1
从而实现一正一负
这有什么搞不懂,flag=-flag是循环体里的内容代表正负切换。如果flag初值为1则第一次循环为-1,第二次为+1
sum是求和,SUM=0,在第一次循环SUM=0+FLAG*I,改变的始终是flag*i,sum不过是记录他改变过程的总变化