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
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!