理疗电极贴片:一道简单的C语言编程题,谁能帮我解解?

来源:百度文库 编辑:高校问答 时间:2024/04/29 05:53:46
设 int n=3,则执行m=(++n)+(n++)+(++n)后m的值为()
A、14
B、15
C、16
D、17
说说详细解题的过程。
也可以加我 QQ 501500451

15
按照规范的编译器来说,这道题应该选B,15.因为++n是指先进行加1再进行运算;而n++则相反.因此,两个++n首先使得n=3一直变成4,5;从而才开始进行整条语句的运算,故为5+5+5=15,之后,n再加1变为6.

3自加1 4

4+4=8

4自加1 5
5自加1 6

8+6=14

选a

关键要理清++a 和 a++ 的意思
++a是自加1后在参与运算
a++是参与运算后在自加1

这个结果与运行环境有关

在TC 环境下为 15
在 VC 下 为13

在其他去环境下 可能不同
你看看在你机子上运行为多少?

但是照正常思维为 14
但是与机子运行的结果不同

晕死,你用TC试一下不就行了么
而且结果与C语言软件的版本有关
通常结果应该是14

++n是先加1再用 n++是先用原值再加1 所以选A

15. 绝对正确! 系统先给n进行两次自加.变为5,再算三个5相加.