c语言题目 求大佬

为什么第十题的a++ b++算出来的结果加了一
28题的m--缺没有减一
都是性质一样的自加自减
求解释区别

要分清自增/自减表达式的值和执行表达式后变量的值的区别。

后缀自增/自减表达式的值就是变量的当前值。例如有变量b=4,则表达式b++的值也是4。

执行自增/自减表达式之后,变量的值变为原值+1/-1。这称为自增/自减表达式的副作用。例如有变量b=4,执行表达式b++后,b的值变为5。

第一道题求的是执行完表达式a++和b++后变量a和b的值,而第二道题求的是表达式m--的值。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-29
10.
x=1,找到case 1,执行switch(y),y=0,找到case 0,执行a++并中断,a=3
注意是对y中断,并未对x中断,因此继续执行。
找到case 2,执行a++,b++并中断,a=4,b=4,这个中断是对x中断,因此不再执行case3
程序执行后,a,b的值依次是4,4,选D。
本题注意中断具体是对哪个变量中断。
28.
m=5,不满足m>5,因此执行else语句。
m--是执行语句后m再自减1,因此输出的仍是5,输出后m=4
输出5,选B。
相似回答