回覆列表
-
1 # 使用者8323833684865
-
2 # 使用者1465424935672
各種格式控制很多:
printf("%10d\n",...);
這樣是設定輸出域寬為10,內容右對齊。
printf("%-10d\n",...);
這樣也是設定輸出域寬為10,內容左對齊。
各種格式控制很多:
printf("%10d\n",...);
這樣是設定輸出域寬為10,內容右對齊。
printf("%-10d\n",...);
這樣也是設定輸出域寬為10,內容左對齊。
在前面內容中我們已經知道了使用printf函式來在標準輸出裝置上顯示一些內容,接下來我們要學習一些其它的輸入輸出函式,讓我們的程式可以透過標準輸入裝置(鍵盤)取得使用者的輸入內容,並在標準輸出裝置(顯示器)上顯示出來。
一、putchar和getchar
這兩個函式是對單個字元進行處理,putchar是在標準輸出裝置上顯示一個字元,而getchar是在標準輸入裝置上取得一個字元,我們來看一看下面的例子,從鍵盤輸入字元,並在顯示器上顯示出來,當遇到字母x時,程式退出:
二、puts和gets
這是針對字串處理的兩個函式,puts是在標準輸出裝置上顯示一個字串,而gets是從標準輸入裝置取得一個字串。我們來看一下它們的使用方法:
注意,這裡定義的是char str[20]也就是定義了一個具有20個元素的字元陣列,不能定義成char *str;然後想透過gets(str);從鍵盤輸入字串到str中去。這裡涉及到陣列與指標的關係,我們會專門有一章來講陣列和指標的原理。
三、printf和scanf
其中printf為按格式輸入函式,它格式定義以%開頭,後面字母代表的意義如下:
d 以十進位制形式輸出帶符號整數(正數不輸出符號)o 以八進位制形式輸出無符號整數(不輸出字首 0)x,X 以十六進位制形式輸出無符號整數(不輸出字首 Ox)u 以十進位制形式輸出無符號整數f 以小數形式輸出單、雙精度實數e,E 以指數形式輸出單、雙精度實數g,G 以%f 或%e 中較短的輸出寬度輸出單、雙精度實數c 輸出單個字元s 輸出字串- 結果左對齊,右邊填空格+ 輸出符號(正號或負號)# 輸出值為正時冠以空格,為負時冠以負號
關於scanf則是與printf相對,它是功能是按格式輸入,例如:
關於scanf也有一個地方需要讀者注意,在呼叫scanf函式時我們向其傳入的引數變數前要加入一個&符號,用於表示這個變數的記憶體地址,而陣列型變數除外。關於這方面我們也同樣在陣列與指標章節來講述。