`scanf`是C语言中用于从标准输入设备(通常是键盘)读取数据的函数。它的基本语法如下:
```c
int scanf(const char *format, ...);
```
`format` 是一个字符串,用于指定输入数据的格式。
`...` 表示可以接受任意个参数,这些参数是用来接收输入的变量。
基本用法
读取整数
```c
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("你输入的整数是:%d\n", num);
```
读取多个整数
```c
int num1, num2;
printf("请输入两个整数,用空格隔开:");
scanf("%d %d", &num1, &num2);
printf("你输入的两个整数是:%d 和 %d\n", num1, num2);
```
读取字符
```c
char ch;
printf("请输入一个字符:");
scanf("%c", &ch);
printf("你输入的字符是:%c\n", ch);
```
读取字符串
```c
char str;
printf("请输入一个字符串:");
scanf("%s", str);
printf("你输入的字符串是:%s\n", str);
```
注意事项
在使用 `scanf` 时,变量前需要加上取地址符 `&`,以便将输入的值存储到变量的内存地址中。
格式字符串中的占位符必须与输入数据的类型相匹配。
如果输入的数据不符合格式字符串的要求,`scanf` 会返回 `EOF`(文件结束标志)。
输入完毕后,通常需要按回车键来确认输入。
示例
```c
include
int main() {
int a, b, c;
float x, y;
char ch;
char name;
printf("请输入三个整数,用空格隔开:");
scanf("%d %d %d", &a, &b, &c);
printf("请输入两个浮点数,用空格隔开:");
scanf("%f %f", &x, &y);
printf("请输入一个字符:");
scanf(" %c", &ch); // 注意前面的空格,用于跳过空白字符
printf("请输入一个字符串:");
scanf("%s", name);
printf("输入的整数是: %d %d %d\n", a, b, c);
printf("输入的浮点数是: %f %f\n", x, y);
printf("输入的字符是: %c\n", ch);
printf("输入的字符串是: %s\n", name);
return 0;
}
```
通过这个示例,你可以看到如何使用 `scanf` 读取不同类型的输入,并且如何将它们存储到相应的变量中。