一、scanf函數的概述
scanf是C/C++語言中用于格式化輸入的函數,它是為了讀取特定類型數據而設計的。使用 scanf 函數可以向程序輸入多種類型的數據,包括整數、實數、字元等等。基本形式是:scanf(Template, pointed strings)。其中的Template是格式控制字元串,pointed strings是要輸入的數據。
二、讀取不同數據類型
scanf函數可以讀入不同的數據類型,比如整型、浮點型、字元型、字元串等等。
1. 讀取整型數值
int num; scanf("%d", &num);
2. 讀取浮點型數值
float f1; double d1; scanf("%f", &f1); scanf("%lf", &d1);
3. 讀取字元型
char c; scanf("%c", &c);
4. 讀取字元串
char s[10]; scanf("%s", s);
三、輸入多個數值
scanf函數可以輸入多個變數,每個變數用逗號隔開。
int a, b, c; scanf("%d,%d,%d", &a, &b, &c);
四、輸入格式控制字元
在格式控制字元串中,可以使用多種格式控制符來控制輸入的格式,如:
1. %d:表示輸入的是十進位整數。
int num; scanf("%d", &num);
2. %f:表示輸入的是浮點型數值。
float f1; double d1; scanf("%f", &f1); scanf("%lf", &d1);
3. %c:表示輸入的是字元。
char c; scanf("%c", &c);
4. %s:表示輸入的是字元串。
char s[10]; scanf("%s", s);
5. %%:表示輸入一個百分號。
printf("%%");
五、輸入錯誤的處理
在輸入錯誤的時候,scanf會返回一個非零的值,表示成功讀入的變數數目。可以通過這個值來判斷是否讀入了正確的變數數量。
int n; while (scanf("%d", &n) != EOF) { if (n == 0) printf("輸入錯誤!\n"); else printf("輸入正確!\n"); }
六、輸入結束符
在標準輸入中,可以通過輸入「Ctrl+Z」按鈕或者輸入文件達到輸入結束符的效果。在程序中,可以通過檢查 scanf 的返回值是否等於 EOF 來判斷是否達到了輸入的結束符。
int n, score, sum = 0; while (scanf("%d,%d", &n, &score) != EOF) { printf("學生%d的分數是:%d\n", n, score); sum += score; } printf("總分數是:%d\n", sum);
七、總結
scanf函數是一個很有用的輸入函數,可以輸入不同的數據類型以及多個變數。同時,通過掌握格式控制符和處理輸入錯誤的方法,我們可以更好地使用這個函數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/192196.html