C 语言输入函数347


在 C 语言中,输入函数用于从用户读取数据。这些函数是与标准输入 (stdin) 流关联的标准库函数,允许程序员从键盘或标准输入设备读取数据。

常用的输入函数

C 语言提供了以下常见的输入函数:* scanf(): 从 stdin 读取格式化的数据。
* getchar(): 读取单个字符。
* gets(): 读取一行字符串(已弃用)。

scanf() 函数

scanf() 函数是 C 语言中用于读取格式化输入的最灵活且强大的函数。它采用不定数量的格式说明符和指针参数。格式说明符指定要读取数据的类型,而指针参数指向要存储数据的变量。

语法:
```c
int scanf(const char *format, ...);
```

其中,
* `format`:指向格式化字符串的指针,指定要读取数据的类型。
* `...`:可变数量的指针参数,指向要存储数据的变量。

例如,要读取一个整数、一个浮点数和一个字符,可以使用以下 scanf() 函数调用:


```c
int num;
float fnum;
char ch;
scanf("%d %f %c", &num, &fnum, &ch);
```

getchar() 函数

getchar() 函数从 stdin 读取单个字符。它返回一个 int 值,表示读取的字符。如果文件结尾 (EOF) 已达到,则返回 EOF。

语法:
```c
int getchar(void);
```

例如,以下代码读取一个字符并将其存储在变量 `ch` 中:


```c
char ch;
ch = getchar();
```

gets() 函数

gets() 函数从 stdin 读取一行字符串(以换行符结尾)。字符串存储在指针指向的缓冲区中。gets() 函数已弃用,不建议使用,因为它容易出现缓冲区溢出问题。

语法:
```c
char *gets(char *str);
```

其中,`str` 是指向存储读取字符串的缓冲区的指针。

示例程序

以下程序示例演示了如何使用 scanf() 和 getchar() 函数从用户读取输入:


```c
#include
int main() {
int num;
float fnum;
char ch;
printf("Enter an integer: ");
scanf("%d", &num);
printf("Enter a floating-point number: ");
scanf("%f", &fnum);
printf("Enter a character: ");
getchar(); // 丢弃换行符
ch = getchar();
printf("Entered integer: %d", num);
printf("Entered floating-point number: %f", fnum);
printf("Entered character: %c", ch);
return 0;
}
```

当运行此程序时,它会提示用户输入一个整数、一个浮点数和一个字符。用户输入的数据会存储在相应的变量中,并在输出中显示。

2024-10-27


上一篇:掌握 C 语言:逐行打印三角形图案

下一篇:C 语言的函数式编程模式