C語言scanf 與printf 函式用法

2021-09-19 13:44:49 字數 1643 閱讀 6373

%c 單個字元

%d 十進位制整數(int)

%ld 十進位制整數(long)

%f 十進位制浮點數(float)

%lf 十進位制浮點數(double)

%o 八進位制數

%s 字串(char)

%u 無符號十進位制數(dword)

%x 十六進製制數(0x00000)

printf( "%4d", 1 );

1 //輸出1的前邊有3個空格,補齊4位的寬度

printf( "%4d", 11);

11 //輸出11前邊有2個空格,補齊4位的寬度

printf( "%4d", 11111 );

11111 //因為超過了4位,所以前邊沒有空格

print("%-4d",1);

1 //"-"代表左對齊,

其他型別與以上相似

%d表示乙個數字以整數十進位制方式輸出。

%f表示乙個數字以單精度浮點數形式輸出。

%d意思是輸出為整型,%f輸出為實型。%.4d意思是輸出字元長度為4,

舉例

printf("%.4d",20);

0020

printf("%.4f",3.45678);

3.4568 //因為最後一位8超過了可輸出的範圍,所以會四捨五入變成3.4568而不是3.4567

\t \r \n都是轉義字元,空格就是單純的空格,輸入時可以輸入空格

\r 的意思是: 回車。將當前位置移到本行的開頭。

1、scanf("%d%d",&a,&b)輸入的兩個資料用空格,tab或者回車區分開。

2、scanf("%d,%d",&a,&b) 輸入的兩個資料用逗號區分開。

3、scanf函式功能是從外設讀取資料並賦值給變數,%d代表接收乙個整形數,&a代表變數a的記憶體位址,也就是說把讀取的第乙個整形數賦值給變數a。

4、scanf函式稱為格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中,其關鍵字最末乙個字母f即為「格式」(format)之意。

擴充套件資料

1、在高版本的 visual studio 編譯器中,scanf 被認為是不安全的,被棄用,應當使用scanf_s代替 scanf。

2、對於字串陣列或字串指標變數,由於陣列名可以轉換為陣列和指標變數名本身就是位址,因此使用scanf()函式時,不需要在它們前面加上"&"操作符。

3、 可以在格式化字串中的"%"各格式化規定符之間加入乙個整數,表示任何讀操作中的最大位數。

4、 scanf函式中沒有類似printf的精度控制。

如: scanf("%5.2f",&a); 是非法的。不能企圖用此語句輸入小數為2位的實數。

5、scanf中要求給出變數位址,如給出變數名則會出錯

如 scanf("%d",a);是非法的,應改為scanf("%d",&a);才是合法的。

6、 在輸入多個數值資料時,若格式控制串中沒有非格式字元作輸入資料之間的間隔,則可用空格,tab或回車作間隔。

c編譯在碰到空格,tab,回車或非法資料(如對「%d」輸入「12a」時,a即為非法資料)時即認為該資料結束。

C語言printf 與scanf 返回值

在c語言中printf 函式不僅可以將指定資訊列印輸入到螢幕上,同時這個函式在執行的過程中會存在乙個返回值,這個返回值就是所要輸出字串的字元數 包括空格和換行符 include int main void 結果 1111sgsgrg 11包括 n換行符。scanf 在c語言中一般是讀取輸入的字元,也...

C語言 scanf與printf的返回值

在使用scanf函式時要特別注意它的返回值,最好看一下它是否返回正確的返回值。例如 includeint main 此時執行程式,輸入4和6。得到如下執行結果 說明其中a,b都被成功的寫入了。但是scanf函式也有使用不當時,會造成一些不好的結果。例如 輸入4,a,執行結果如下 此時只有a變數被成功...

郝斌C語言 printf與scanf的用法

scanf 通過鍵盤將資料輸入到變數中 四種用法 printf 字串 n printf 輸出控制符 輸出引數 printf 輸出控制符1 輸出控制符2 輸出引數1,輸出引數2,輸出控制符和輸出引數的個數必須一一對應 printf 輸出控制符 非輸出控制符 輸出引數 輸出控制符包含如下 d 整形 in...