gets()和getchar()还有getch()的区别

getch()和getchar()区别:
1、getch():
  所在头文件:conio.h
  函数用途:从控制台读取一个字符,但不显示在屏幕上
例如:
  char ch;或int ch;
  getch();或ch=getch();
  用getch();会等待你按下任意键,再继续执行下面的语句;
  用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。

2、getchar():
该函数声明在stdio.h头文件中,使用的时候要包含stdio.h头文件。如:
  #include<stdio.h>
  int getchar(void);
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.

gets()和getchar()的区别:
最重要的区别是gets读一行,getchar()读一个字符。

先看原型:
char * gets(char * ptr);
int getchar(void);

作用是:

gets()用于从标准输入流stdin读入一个整行(以' '或EOF)结束,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件结束时则返回NULL。行末的' '从流中取出,但不写入数组。gets()不检查被写入的数组大小。

getchar()用于从标准输入流stdin读入一个字符,并返回这个字符。如果读到文件结尾,则返回EOF。注意到EOF不能用char类型表示,所以getchar()函数返回的是一个int型的数。使用时也应该注意这一点。

原文地址:https://www.cnblogs.com/wft1990/p/4323969.html