關於i++和++i,萬惡的C語言填空題……

#include <stdio.h>
void main()
{
 int i = 5,j = 5,p,q;
 p = (i++) + (i++) + (++i);
 q = (++j)+(++j)+(++j);
 printf("%d%d%d%d",p,q,i,j);
}

/**

*參考書答案:p = 18,q = 24,i = 8,j = 8

*vc6.0調試結果:p = 16,q = 22,i = j = 8

*myeclipse運行結果:p=19,q=21,i=j=8

*原因:不同的編譯器對i++和++i的編譯順序是不一樣的!

*對於我們通常的理解,還是myeclipse下的運行結果比較好理解!

By the way,萬惡的C語言出書人……不提倡這種C程序的寫法……

*/

發佈了25 篇原創文章 · 獲贊 11 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章