可不可以帮我看一看怎么弄

img

i++ 是先返回判断原本的值, 再对i加1
++i 是先对i加1 再返回判断加1后的值

i 初始为3,
a=3*++i;是 先对i加1,i 变成4, 再计算3*4=12, 输出i是4,a是12

printf("i=%d\t3*++i=%d\n",i,a);  输出 i=4     3*++i=12
printf("i=%d\n\n",i); 输出 i=4 

printf  是从右往左计算表达式.

printf("i=%d\t3*++i=%d\n",i,3*++i); 先计算3*++i, 对i加1,i变成5, 再计算3*5=15, 之后再取i的值就是5
输出 i=5     3*++i=15
printf("i=%d\n\n",i);  输出 i=5 

printf("i=%d\t3*i++=%d\n",i,3*i++);  i++是先计算3*5=15, 再对i加1,i变成6,  之后再取i的值就是6
输出 i=6     3*++i=15
printf("i=%d\n\n",i);  输出 i=6



如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img