printf("%d %d %d %d\n", b++, ++b, b++, ++b)打印的汇编解释

 上图左侧是源码,右侧是对应的汇编代码,使用 g++ -S a.cpp 翻译得来。代码运行的结果是:  从右侧汇编代码可以看出,printf中表达式的计算是从右往左的,且:      对于++b的输出,不管它放在printf的哪个位置,调用时使用的都是b的最终值,即4轮自增操作以后的值      而b++则在每一步计算时先把b保存到新寄存器,再把b+1后的结果赋给b
相关文章
相关标签/搜索