在C++中,scanf
函數用于從標準輸入中讀取格式化輸入。它的基本語法如下:
#include <cstdio>
scanf(format, &variable1, &variable2, ...);
其中,format
是一個字符串,用于指定變量的讀取格式,&variable1, &variable2, ...
是待讀取的變量的地址。
例如,如果想要讀取一個整數,可以使用%d
作為格式化字符串,并提供一個整數變量的地址來接收輸入的值:
#include <cstdio>
int main() {
int num;
scanf("%d", &num);
printf("輸入的整數是:%d\n", num);
return 0;
}
scanf
函數可以接受多個參數,用于讀取多個變量的值。格式化字符串中的格式指示符應與變量類型相匹配。例如,要讀取兩個整數,可以使用%d
兩次:
#include <cstdio>
int main() {
int num1, num2;
scanf("%d %d", &num1, &num2);
printf("輸入的兩個整數是:%d 和 %d\n", num1, num2);
return 0;
}
注意,scanf
函數返回成功讀取的參數個數。如果讀取失敗,則返回值為EOF
(-1)。
此外,使用scanf
函數時需要小心處理輸入緩沖區的問題。由于scanf
函數會在讀取格式化輸入時留下換行符,可能會對后續的輸入造成影響。可以使用getchar
函數來清空輸入緩沖區,或者使用cin.ignore
(如果使用C++標準庫的輸入輸出)來忽略換行符。