%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...