C语言的(++j) + (++j) + (++j)问题。

 

  菜鸟教程C语言在线编辑:https://c.runoob.com/compile/11

  

验证就是22.想了一会,发表下自己的看法。
我觉得多个自增dao在一起,只允许配专对原则。
也就是属说每次只有两个自增的时候才能满足先算括号;
先说q=(++j)+(++j)+(++j)=((++j)+(++j))+(++j)
此时第一个和第二配对,先算括号自增,j=7,在求和为7+7=14。
此时就是14在与(++j)配对。先算括号自增j=8,在求和得14+8=22.
如果是4个(++j),则22与(++j)配对,先算括号自增j=9,在求和得22.+9=31;
5个就是41,
6个就是52…………
同理可以推出N个的情况,初值为a,则N个前自增后的和为(a+2)*N+(0.5)*(N-1)(N-2);

关于与j++的混用

  

  1.对++j的处理分两种情况,一种是在表达式进行运算之前就将++j计算,然后再进行表达式运算;第二种是在表达式运算的过程当中进行++j自增并计算表达式的值。
  2.两种情况对j++的处理方式一样,都是表达式运算完成后自增,所以j++对表达式的运算无影响。

  

  

 

   

     https://zhidao.baidu.com/question/59601799.html

  https://zhidao.baidu.com/question/1517683005339023820.html

  https://www.cnblogs.com/IAmBetter/p/3181915.html

posted @ 2020-11-10 01:21  15号计划  阅读(1608)  评论(0编辑  收藏  举报