请问下面的代码“sum+=i*flag; flag*=-1;”是什么意思?

#include <stdio.h>
int main()
{
 int sum = 0;
    int i = 1;   
    int flag = 1;
while(i<=100)
  {
     i++;
     sum+=i*flag;   //请问是什么意思?具体一些!
       flag*=-1;    //请问是什么意思?具体一些!
   }
  printf("sum=%d\n",sum); 
  return 0;    
}

 请问,上面的代码中“sum+=i*flag;   flag*=-1;”是什么意思?谢谢!


沐竹雨
浏览 2592回答 1
1回答

Perona

这里使用的是复合赋值运算符。复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。即:a+=1;d等价于a=a+1;那么这里sum+=i*flag; 等价于sum=sum+i*flag;flag*=-1;等价于flag=flag*-1;
打开App,查看更多内容
随时随地看视频慕课网APP