首先a=6,b=8,之后到了x=a++,这里是先把a的值赋给x进行计算,之后再自增加1。a++和++a是不同的,++a是先自增再执行表达示,执行表达式时使用的是自增后的a。如果是++a,那么将a进行自增,先算a=a+1=7,之后执行x=a++=8,这么做才能得到你原来那个错误的结果。题中给的是a++,a++是先执行表达式后再自增,执行表达式时使用的是a的原值。所以原式是先用a的原值计算x,即x=a+1=7,之后再进行自增。
而a++在本行是不进行自增的,或者说有a++的地方算作第一次使用a,a的值保持不变,按程序执行顺序走的第二次使用a的地方,a的值为第一次a自增的结果,因为这个题只执行了一次,所以a还未执行自增的操作,程序便已经输出,输出的值还是a原来的值(b++同理),所以结果为a=6,b=8,x=7,y=9
这里考察的是a++和++a的知识点,向来他们俩都是比较绕人的,你在好好琢磨琢磨,这个东西,期末c语言选择题是百分之百要考的,一定要整明白了