scanf()函数是用于用户的键盘输入,就是当程序运行到这个语句时,就会让用户输入数据,按回车键后,scanf()就会存入数据。
表达式为:
scanf("占位符",&变量);
占位符表示用户输入的数据是什么类型,占位符一般经常用的有:%d(整数型)、%c(字符型)、%s(字符串型)、%f(浮点型)等。
&变量表示变量的地址指向用户的值(因为scanf()传递的不是值,而是地址)。
例如: int a = 0;
scanf("%d",&a);
printf("%d\n",a);
输入:3
输出:3
scanf()的原型定义在头文件stdio.h
scanf()在处理数值占位符时,会自动忽略空格、换行符、制表符。
scanf()返回值是一个整数,表示成功读取的变量个数,如果没有读取任何项,或者匹配失败,则返回 0。但是,如果在成功读取任何数据之前,发生了读取错误或读取到文件结尾,则返回常量EOF(-1)。
例如: int a = 0;
int b =0;
float f =0.0f;
int r=scanf("%d %d %f",&a,&b,&f);
printf("a=%d b=%d f=%f\n",a,b,f);
printf("r=%d\n",r);
输入:1 2 3.14
输出:a=1 b=2 f=3.140000
r=3