c语言中scanf()函数
时间: 2024-09-06 21:05:42 浏览: 30
C语言中的`scanf()`函数是一个标准输入函数,用于从标准输入(通常是键盘)读取格式化的输入。它的名称来源于“scan format”,意思是扫描并格式化输入。`scanf()`函数需要一个格式字符串作为参数,该字符串指定了输入数据的预期格式,以及一个或多个变量的地址,这些变量用于存储输入的数据。
函数的基本语法如下:
```c
int scanf(const char *format, ...);
```
这里的`format`是一个字符串,包含了待读取数据的格式说明符。格式说明符是`%`符号后跟一个特定的字母,用于指示相应类型的数据应该如何被读取和存储。例如,`%d`用于整数,`%f`用于浮点数,`%c`用于单个字符等。格式字符串可以包含空白字符,比如空格或制表符,这些空白字符意味着输入时可以在这个位置跳过任意数量的空白字符。
另外,`scanf()`函数返回成功读取并赋值的输入项的数量,如果读取失败或遇到文件结束符(EOF),则返回EOF。
使用示例:
```c
int number;
float real_number;
scanf("%d", &number); // 读取一个整数并存储在变量number中
scanf("%f", &real_number); // 读取一个浮点数并存储在变量real_number中
```
需要注意的是,`scanf()`函数不会检查目标变量的大小,因此如果输入的数据超过了变量能够存储的范围,可能会发生缓冲区溢出的错误。因此,在使用`scanf()`函数时,应当谨慎并尽量避免使用如`%s`这样的格式说明符,除非你确定输入的长度不会超过目标数组的大小。