printf函數的實現vc6.0和win_tc

看一段代碼:

  int a=2,*p=&a,*q=&a;

  printf("%d%d\n",*p++,*(q++));

  p=&a;q=&a;

  prrintf("%d%d\n",*p,(*q)++);

下面是VC6.0



下面是win_tc

結論:不同的編譯器對printf的實現是不一樣的,vc的實現是自左向右計算,(像是隊列實現的)對數據輸出;而win_tc剛好相反,是從右向左對各個參數進行計算,(像是堆棧)輸出結果自然會不一樣;
注:win_tc是和turbo  c 差不多的,我對第一種輸出不是很理解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章