scanf函数的用法

时间:2025-03-27 02:56:50 计算机

scanf函数用法解析

一、基本语法

`scanf`函数用于从标准输入(如键盘)读取格式化数据,并将数据存储到指定的变量中。其基本语法为:

```c

int scanf(const char *format, argument...);

```

`format`:格式控制字符串,包含类型说明符和普通字符;

`argument...`:变量地址列表,需与格式说明符一一对应。

二、格式说明符

基本类型说明符

`%d`:读取整数(如`123`);

`%c`:读取单个字符(如`A`);

`%f`:读取浮点数(如`3.14`);

`%s`:读取字符串(如`Hello`)。

格式说明符扩展

宽度与精度:

`%5d`表示输出宽度为5的整数,不足部分补零(如`0042`);

浮点数精度:`%.2f`表示保留两位小数(如`3.1416`显示为`3.14`)。

三、典型用法示例

读取单一数据

```c

int num;

scanf("%d", &num);

printf("你输入的整数是:%d

", num);

```

读取多个数据

```c

int a, b;

printf("请输入两个整数,用空格隔开:");

scanf("%d %d", &a, &b);

printf("a=%d, b=%d

", a, b);

```

读取带格式的数据

```c

float price;

printf("请输入商品价格:");

scanf("%d.2f", &price);

printf("商品价格为:%.2f元

", price);

```

错误处理

`scanf`返回值:

成功读取的项数(如2);

0:输入结束或错误;

EOF:文件结束。

四、注意事项

内存管理:

确保变量地址已分配内存,且类型匹配;

格式字符串安全:

避免缓冲区溢出,推荐使用`fgets`替代`gets`;

平台差异:

不同操作系统对换行符处理可能不同,建议使用`%c`读取字符时指定长度(如`%10c`)。

五、扩展功能

文件输入:通过文件指针传递参数,实现文件扫描(如`fscanf`);

格式化输出:与`printf`配合使用,实现双向数据交互。

通过以上要点,可灵活运用`scanf`函数完成复杂输入需求。