在筆試的時候,問了這樣一道選擇題:
int main()
有這樣幾個選項:
a. 1,2,3 b.1,2 c . 1 d.編譯錯誤
答案是:b
當時雖然回答正確,但是總覺得對printf的輸出很是模糊,仔細查閱了相關資料發現還是需要注意的!
先宣告下,以下編譯都是在vc++6.0中執行的結果:
先來看下面一段**:
int main()
結果是多少呢?
答案是:2,1 3
為什麼呢?
要注意一點:
因為printf函式的計算是從右向左進行的,而輸出是從左向右進行的!
printf("%d,%d\n",++x,x++);
運算過程:
從右向左:
1. x++ 得到1(x=1,後加1在整條語句執行完才進行)
2. ++x 得到2(x=2,先加1,後使用)
printf先輸出 2,1
最後計算一次後運算x=3
printf輸出 3
如果還是不清楚,可以看下面的兩個例子的輸出結果:
int main()
輸出結果:1,12
int main()
輸出結果:2,22 格式輸出函式printf
1 格式輸出函式的一般形式 函式原型 int printf char format argument,函式功能 按規定格式向輸出裝置 一般為顯示器 輸出資料,並返回實際輸出的字元數,若出錯,則返回負數。它使用的一般形式為 printf 格式控制字串 輸出項列表 語句中 輸出項列表 列出要輸出的表示式...
c 輸出函式 printf
標頭檔案 include 定義函式 int printf const char format,函式說明 printf 會根據引數format 字串來轉換並格式化資料,然後將結果寫出到標準輸出裝置,直到出現字串結束 0 為止。引數format 字串可包含下列三種字元型別 1.一般文字,伴隨直接輸出.2...
printf格式輸出函式詳解
printf 格式控制字串 輸出表列 常用的格式有 d 表示按十進位制整型輸出 ld 表示按十進位製長整型輸出 c 表示按字元型輸出等。main d 以十進位制形式輸出帶符號整數 正數不輸出符號 o 以八進位制形式輸出無符號整數 不輸出字首 0 x,x 以十六進製制形式輸出無符號整數 不輸出字首 o...