C语言常见输入函数(scanf(),getchar(),getche(),getch(),gets())大汇总

C语言中有多个函数可以丛键盘获得用户输入,常见的输入函数有:

  • scanf() 可输入多种类型的数据

  • getchar() 输入单个字符

  • getche() 输入单个字符

  • getch() 输入单个字符

  • gets() 获取一行数据,并作为字符串处理

1.scanf()

scanf()是最灵活,最复杂,最常用的输入函数,scanf的功能用一句话概括就是“通过键盘给程序中的变量赋值”。具体用法为 scanf("输入控制符",输入参数);

下面给大家举个例子:

当然,如果要一次给多个变量赋值:

注意:在scanf的“输入参数”中,变量前面的取地址符&不要忘记。

2.getchar()

getchar()可以用来输入单个字符,它就是scanf("%c",&a)的代替品,除了更简洁,没有更多优势了;也可以说getchar()是scanf()的一个简化版本。

下面给大家举个getchar()的使用例子:

3.getche()

getche()是一个比叫有意思的 输入函数,他没有缓冲区,输入一个字符后会立即读取,不用等待用户按下回车键,这是它和scanf(),getchar()的最大区别。

请看下面关于getche()使用的代码:

输入实例:

当我们从键盘输入一个字符‘w’,getche()立即读取完毕,接着执行printf()将字符输出,所以没有按回车就执行结束了。

2.getch

getch()也没有缓冲区,输入一个字符会立即读取,不用按下回车键,这一点和getche()相同。但getch()的特别之处是getch()没有回显,看不到输入的字符。(回显就是在控制台显示用户输入的字符;没有回显,就不会显示用户输入的字符)

getch()使用举例:

输入输出示例:

当我们从键盘输入一个字符‘w’,getch()立即读取完毕,接着执行printf()将字符输出,但由于getch()没有回显,看不到输入的字符 'w' 。

5.gets()

gets()可以用来输入字符串,当然前面所讲到的scanf()也可以用来输入字符串对应的格式控制符为%s,但使用scanf()输入的字符串中不能含有空格,遇到空格就认为当前字符串结束了,所以无法读取有空格的字符串。

gets()认为空格也是字符串的一部分,只有遇到回车键时才会认为字符串输入结束,所以不管有多少个空格,只要不按下回车键,对gets()来说都是一个完整的字符串。

下面是gets()的使用方法:

输入输出示例

你可能感兴趣的:(c语言,开发语言)