帮本人分析一下这个运算过程,谢谢

C语言 码拜 8年前 (2016-09-22) 1108次浏览
int a = 3;
int b = 12;
int c = 4;
int d;
d = ((a++)-b++)+(–c);
printf (“d = %d\n”,d);
这个结果是-6,本人本人推算的是-5,请高手给详细分析一下运算过程,谢谢
解决方案

40

b++先用b运算再+1   b–也相似
++a先+1再用a运算   –a也相似
题主举的例题c=a-(b–);
是原因是b–为1,a为12
所以c=11
d=((a++)-b++)+(–c);
a++为3,
原因是++/–运算优先级高于+/-
所以先算b++为12,
–c为3,
d=3-12+3为-6

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明帮本人分析一下这个运算过程,谢谢
喜欢 (0)
[1034331897@qq.com]
分享 (0)