n++是先使用这个变量再自增1
++n先自增再使用
第37 38行,y赋值2,n赋值3
第39行,nextnum = (y + n++) * 6。 这里是n++(先使用n,nextnum = (2+3)*6,也就是30,使用之后n再自增1,那么这时n=4了)
第41行,a = n++,先使用n,那么a=4, n再自增1,那么这时n=5了
第43行,第一个n++,先使用n,打印5,后面那个++n,先自增再使用打印6
为什么第43行第一个n++没有自增呢,因为自增是在分号之后自增的(也就是这句语句彻底执行完才自增)
之前n++了所以n为4
a = n++; //n先赋值,再++,故而结果是4
这时n为5,执行
printf("%d %d", n++, ++n);//同样n++是先赋值再++,故而第一个输出为5,因为在printf语句中,输出是并行的,++n并不依赖前一个结果,先++再赋值,故而为6
不知道我有没有说明白
debug会用吗 会的话 这道题简单了 不会就自己尽量去查资料吧