C语言输入函数:scanf()195


在C语言中,scanf() 函数用于从标准输入(通常是键盘)读取数据。它是一个格式化输入函数,这意味着它允许您指定读取数据的格式。此函数的原型为:

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

其中:* format:是一个格式化字符串,指定要读取的数据的格式。
* :是可变数量的参数列表,指定要读取数据的变量。

scanf() 函数返回成功读取的变量数,如果发生错误或在到达文件结尾时遇到 EOF(文件结束符),则返回 EOF。以下是 scanf() 函数中常用的格式说明符:

| 格式说明符 | 数据类型 |
|---|---|
| %c | 字符 |
| %d | 有符号十进制整数 |
| %f | 浮点数 |
| %s | 字符串 |
| %u | 无符号十进制整数 |
| %x | 十六进制整数 |

例如,以下代码读取一个字符串和一个整数:


char name[20];
int age;
scanf("%s %d", name, &age);

scanf() 函数还有几个修饰符,可用于进一步控制输入过程。这些修饰符包括:* %h:读取短整数(16 位)
* %l:读取长整数(32 位)
* %ll:读取长长整数(64 位)
* %*:从输入流中跳过指定数量的字符

例如,以下代码读取一个短整数:


short int num;
scanf("%hd", &num);

需要注意的是,scanf() 函数是一个低级输入函数,对于更高级别的输入处理,通常建议使用诸如 fgets() 和 sscanf() 之类的函数。scanf() 函数也可能容易受到缓冲区溢出和其他安全漏洞的攻击,因此在使用时应小心。

2024-10-17


上一篇:C 语言中输出数组的全面指南

下一篇:**C 语言中的乘方函数:深入剖析**