`scanf` 是 C 语言中用于从标准输入(通常是键盘)读取数据的函数。它的基本用法与 `printf` 类似,但它是将输入的数据存储到程序中指定的变量中,而不是输出到屏幕。`scanf` 函数通过格式字符串来指定要读取的数据类型,并通过参数列表来接收这些数据。
基本用法
`scanf` 函数的一般形式如下:
```c
int scanf(const char *format, ...);
```
`format` 是一个指向格式字符串的指针,该字符串指定了要读取的数据类型和格式。
`...` 表示可变数量的参数,这些参数是变量的地址,用于存储从输入中读取的数据。
`scanf` 函数返回成功匹配并赋值的个数。如果读取失败或遇到文件末尾,则返回 `EOF`。
格式说明符
格式说明符以 `%` 开头,后跟一个或多个指定数据类型的字符。以下是一些常用的格式说明符:
`%d`:读取整数。
`%f`:读取浮点数。
`%c`:读取字符。
`%s`:读取字符串。
示例
```c
include
int main() {
int num1, num2, num3, sum;
printf("请输入第一个整数: ");
scanf("%d", &num1);
printf("请输入第二个整数: ");
scanf("%d", &num2);
printf("请输入第三个整数: ");
scanf("%d", &num3);
sum = num1 + num2 + num3;
printf("三个整数的和为: %d
", sum);
return 0;
}
```
在这个示例中,`scanf` 使用 `%d` 格式说明符读取三个整数,并通过 `&` 符号将变量的地址传递给函数,以便将输入的数据存储到对应的变量中。
注意事项
使用 `&` 符号:
在使用 `scanf` 时,需要使用 `&` 符号来获取变量的地址,以便将输入的数据存储到变量中。例如,`scanf("%d", &num1);`。
处理空格和换行符:
`scanf` 默认会忽略输入中的空格和换行符,直到遇到非空白字符为止。如果需要在读取字符串时包含空格,可以使用 `%[^
]s` 格式说明符,或者在读取字符串后使用 `getchar()` 函数清除输入缓冲区中的剩余字符。
检查返回值:
`scanf` 函数返回成功匹配并赋值的个数。在处理输入时,应该检查返回值以确保正确读取了所需的数据项数。
通过以上示例和说明,您应该能够理解并在自己的程序中使用 `scanf` 函数来从键盘读取数据。