3. scanf函数

作用

从标准输入(终端)读取数据,根据指定的格式(如:%d、%f等)将读取的数据转换为相应的类型,放入到对应的变量中。

头文件:

#include <stdio.h>

调用格式:

scanf("格式字符串", 变量地址1, 变量地址2...);

返回值:

成功读取的数据的数量。若失败或输入结束则返回 EOF-1)。

常用读取格式

格式符
说明
%d
读取整数(int
%f
读取浮点数(float
%lf
读取双精度浮点数(double
%s
读取字符串(char*
%c
读取单个字符串(char
%u
读取无符号整数(unsigned int

示例:

文件名: scanf_test.c

#include <stdio.h>

int main(int argc, char *argv[]) {
    int count = 0;
    float price = 3.1;

    printf("读取之前的count:%d, price:%f\n", count, price);
    printf("请输入整数:");
    scanf("%d", &count);

    printf("请输入小数:");
    scanf("%f", &price);
    printf("读取之后的count:%d, price:%f\n", count, price);

    return 0;
}

执行过程和结果

weimingze@mzstudio:~$ gcc -o scanf_test scanf_test.c
weimingze@mzstudio:~$ ./scanf_test
读取之前的count:0, price:3.100000
请输入整数:10
请输入小数:9.9
读取之后的count:10, price:9.900000

练习:

写一个程序,声明两个整数变量 xy,声明两个float 类型的变量 f1f2。读取两个整数放入 x、y,读取两个小数放入 f1f2

打印x, y, f1, f2 的值。