scanf()如何从高度格式化源中读取选定数据
时间: 2024-09-21 21:05:32 浏览: 35
`scanf()` 是 C 语言标准库中的函数,用于从标准输入流(通常是键盘)或者其他指定的输入流中按照特定格式读取数据。它的基本语法是:
```c
int scanf(const char *format, ...);
```
`format` 参数是一个字符串模板,其中包含一些转换说明符,这些说明符告诉 `scanf()` 如何解读输入的数据。例如:
- `%d` 用于读取一个整数,
- `%f` 或 `%lf` 用于读取浮点数(单精度或双精度),
- `%s` 用于读取字符数组,即字符串。
当你向 `scanf()` 函数提供数据时,需要提供相应类型的变量作为实际的读取目标,并紧跟在其后的逗号分隔。比如读取用户输入的一组数字和字符串:
```c
#include <stdio.h>
int main() {
int num;
float flt;
char str[50];
// 读取一个整数
printf("请输入一个整数:");
if (scanf("%d", &num) == 1) {
printf("您输入的整数是:%d\n", num);
} else {
printf("输入错误!\n");
}
// 读取一个浮点数
printf("请输入一个浮点数:");
if (scanf("%f", &flt) == 1) {
printf("您输入的浮点数是:%f\n", flt);
} else {
printf("输入错误!\n");
}
// 读取一个字符串,记得加上长度限制
printf("请输入一个字符串(最多49个字符):");
scanf("%49s", str); // 注意这里要留出结束符'\0'
printf("您输入的字符串是:%s\n", str);
return 0;
}
```
阅读全文