在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++标准库的输入输出)来忽略换行符。