C printf()和scanf()的 修飾符

2021-06-29 09:34:10 字數 588 閱讀 4371

printf()函式中的*修飾符:

假定你不想事先指定列印欄位的寬度,而是希望由程式來指定該值,那麼你可以再欄位寬度部分使用*代替數字來達到目的。

例如: int a=2;

printf("%*d", 4, a);

列印a這個整型數時,以四位數的形式列印出來。那麼結果就容易理解了。

列印結果: 0002

如果列印的數值為浮點型,那麼也可以自己來定這個小數字數

例如: float a=1.5;

printf("%*.*f", 5, 3, a);

列印a這個浮點數時,前面有乙個空格,要保證數字最右邊是第五個位置,小數部分保留3位。如果%5.3d類似的不是浮點數的話,點後面的數字代表總共保留的數字位數。

列印結果:_1.500

scanf()函式中的*修飾符:

在scanf()中*修飾符截然不同,當把它放在%和說明字元之間時,它使函式跳過相應的輸入專案。

例如: int a;

scanf("%*d, %*d, %d", &a);

printf("a = %d", a);

輸入: 1 2 3

列印結果: a = 3

C printf和scanf的用法

首先,需要用到stdio.h庫 當然你用萬能庫我也不能說什麼 一 printf用法 函式原型 int printf const char format argument 1 函式引數 format 由格式說明和普通字元構成。格式說明定義argument的顯示格式,以 開頭,後接格式字元。格式字元前還...

C printf 和 scanf 函式的使用

對於printf函式,我們主要要掌握printf函式的輸出格式。而對於scanf函式,我們則要知道幾個輸入過程中的錯誤輸入情況和scanf函式的實現原理。和上面的程式一樣,一次性輸入多個值,那麼會在快取區里儲存未賦值的資料。那為什麼第二次輸入的時候d e f的值還是0呢?不應該是4,5,6嗎?這是因...

gets和scanf的區別。

寫乙個函式,輸入乙個十六進製制數,輸出相應的是進製數。程式設計如下 include include include void main char t 20 c long htoi char doprintf ninput a hex number gets t printf decimal numb...