C語言中使用 ++ 運算子執行 printf
某些問題中我們可以發現一些 printf() 語句包含一些帶有 ++ 運算子的行。在某些競賽考試題目中,我們可以發現這類題目,需要找出該程式碼的輸出。本部分中,我們將瞭解此類題目的示例,並嘗試找出答案。
示例程式碼
#include<stdio.h> int main() { volatile int x = 20; printf("%d %d\n", x, x++); x = 20; printf("%d %d\n", x++, x); x = 20; printf("%d %d %d ", x, x++, ++x); return 0; }
現在我們將嘗試猜測輸出結果是什麼。大多數編譯器從右向左獲取 printf() 的每個引數。因此在第一個 printf() 語句中,最後一個引數是 x++,因此它將首先執行,它會列印 20,然後將值從 20 增加到 21。現在列印倒數第二個引數,並顯示 21。以此類推,其他行也以這種方式計算。對於 ++x,它會在列印之前增加值,對於 x++,它首先會列印值,然後增加值。
請檢視輸出以獲得更好的理解。
輸出
21 20 20 20 22 21 21
廣告