解释一下,C语言 sum+=i;i++;i++;什么意思

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-29
C语言中sum+=++i;是是什么意思?

sum+=++i的意思就是 sum=sum+(++i);++i也是一种运算,等价于i=i+1,取i加1后的结果。相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。
postfix-expression ++,后缀自增
postfix-expression --,后缀自减

扩展资料:
优先级:
C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
结合性:
C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。
如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。
如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。
参考资料来源:百度百科-C语言运算符号

sum是用来求和的 sum+=1/i 分解开来就是sum = sum+1/i
也就是说每次 sum都在本身已经有的基础上再加上一个1/i
比如说
第一次 sum=0 sum+=1/i 也就是说 sum=0+1/1=1
第二次 sum=1 sum+=1/i 也就是说 sum=1+1/2=3/2
.........
一直这样累加到循环终止为止

sum+=i; 是 sum=sum+i; 的意思。
i++; 就是 i=i+1; 的意思。下同

sum += i; 就是sum = sum + i;

i++; 就是 i = i + 1;

sum+=i等价于sum=sum+i
i++等价于i=i+1