printf("%d %d %d %d\n", b++, ++b, b++, ++b)打印的彙編解釋

 上圖左側是源碼,右側是對應的彙編代碼,使用 g++ -S a.cpp 翻譯得來。代碼運行的結果是:  從右側彙編代碼可以看出,printf中表達式的計算是從右往左的,且:      對於++b的輸出,不管它放在printf的哪個位置,調用時使用的都是b的最終值,即4輪自增操作以後的值      而b++則在每一步計算時先把b保存到新寄存器,再把b+1後的結果賦給b
相關文章
相關標籤/搜索