一、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-hant/n/192196.html