📜  等待 c 中的键输入 (1)

📅  最后修改于: 2023-12-03 15:27:25.099000             🧑  作者: Mango

等待 C 中的键输入

在 C 语言中,我们通常需要等待用户输入数据。为了等待键盘输入,C 语言提供了几种方法。这篇文章将向你介绍如何等待键盘输入的各种方法以及如何在程序中实现它们。

使用 getchar()

getchar() 函数是最常用的等待键盘输入的方法。

char c = getchar();

当程序执行到这段代码时,程序会等待用户输入,然后将输入读入到 c 变量中。

例如,如果用户输入了字母 'a',那么程序将继续执行,并将 'a' 存储在变量 c 中。getchar() 函数还可以连续读入多个字符。

使用 scanf()

scanf() 函数也可以用来等待键盘输入。

int age;
scanf("%d", &age);

此方法将等待用户输入其年龄,并将其存储在 age 变量中。注意,在 scanf() 函数中使用“&”符号来指示变量的地址。

但是,scanf() 函数也有一些缺点。它往往更难控制,因为它在读取用户输入之前需要先指定输入的格式,而且读取非字符串数据时需要注意精度问题。

使用 fgets()

fgets() 函数可以读取一行文本。它可以让程序等待用户输入文本,并将输入存储在字符数组中。

char str[50];
fgets(str, 50, stdin);

在此示例中,程序将等待用户输入长度小于等于 50 的字符串并将其存储在 str 变量中。

注意,在 fgets() 中,我们需要使用 stdin 标准输入流作为第三个参数。

使用 getch()

getch() 函数是专为等待键盘输入而设计的函数。

#include <conio.h>
char c = getch();

此方法将等待键盘输入,并将其存储在 c 变量中。

但是,此方法也有一些缺点。它是一个不标准的 C 函数,所以它可能不适用于所有平台。并且它并不是 ANSI 标准的一部分,所以它可能与其他库函数不兼容。

总结

以上是 C 语言中等待键盘输入的几种方法。根据你的需要,你可以使用其中的任何一种。如果你只需要读取字符输入,推荐使用 getchar() 函数。如果你需要读取字符串输入,可以使用 fgets() 函数。而如果你需要专门等待键盘输入,可以尝试使用 getch() 函数。无论你选择哪种方法,都应小心处理输入数据以避免潜在的错误。