umaru23333 发表于 2020-11-13 15:07:05

新人求解答

小甲鱼的课程视频有这道题,我的答案是15,22,8,8
这个答案是怎么来的啊?看弹幕说q先算两个++j再算最后一个++j,那应该是6+7+8,=21,22是怎么来的?15又是为啥捏?


#include <stdio.h>

int main(void)
{
        int i=5,j=5,p,q;
        p=(i++)+(i++)+(i++);
        q=(++j)+(++j)+(++j);
        printf("%d,%d,%d,%d\n",p,q,i,j);
}

风过无痕1989 发表于 2020-11-13 15:26:27

对于 i ,是运算,后自增,对于 j ,是先自增,后运算;

p = (i++)+(i++)+(i++)
= 5 + 5 + 5
= 15
运算完成后,i 经过三次自增,变为 8;

q = (++j)+(++j)+(++j)
= 8 + 8 + 8
= 24
运算前,j 经过三次自增,变为 8;

shooan 发表于 2020-11-13 18:41:01

这东西没必要去看,因为没有意义

umaru23333 发表于 2020-11-13 20:36:05

shooan 发表于 2020-11-13 18:41
这东西没必要去看,因为没有意义

好的,那这里的帖子怎么删掉啊。。。。

shooan 发表于 2020-11-13 21:09:02

umaru23333 发表于 2020-11-13 20:36
好的,那这里的帖子怎么删掉啊。。。。

我也不清楚,没有发过主题帖{:5_109:}

乐乐学编程 发表于 2020-11-15 22:53:55

umaru23333 发表于 2020-11-13 20:36
好的,那这里的帖子怎么删掉啊。。。。

普通人没有删帖权限
页: [1]
查看完整版本: 新人求解答