getch():
所在头文件:conio.h
 函数用途:从控制台读取一个字符,但不显示在屏幕上
getchar():
所在头文件:stdio.h
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,
只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-.
输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示
有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行. 易错点:
  .所在头文件是conio.h。而不是stdio.h。
  .在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个
函数也会返回的情况。
  .在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即\n)
  )windows平台下ENTER键会产生两个转义字符 \r\n,因此getch返回13(\r)。
  )unix、 linux系统中ENTER键只产生 \n ,因此getch返回10(\n)。
  )MAC OS中ENTER键将产生 \r ,因此getch返回13(\r)。
   getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移
植性。国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar();
如果情况允许)代替此功能或更换一款编译器。

getch与getchar区别的更多相关文章

  1. getch()和getchar()之再讨论

    原文:getch()和getchar()之再讨论 在C语言的字符处理函数中,getch()和getchar()是经常让人迷惑的两个函数,他们都有一些“奇怪的”特点让初学者摸不着头脑.两个函数有很多相似 ...

  2. getch(),getche(),getchar()的区别

    先说基本区别. (1) getch()和getche()函数     这两个函数都是从键盘上读入一个字符.其调用格式为:      getch();      getche();     两者的区别是 ...

  3. getch 和 getchar 在 windows 和 unix下的区别

    注意getch()是从console读取,(非标准函数) getch()需要的头文件是<conio.h>. 而getchar()是从stdin,一般是指键盘 windows平台下ENTER ...

  4. getch和getchar的区别

    造冰箱的大熊猫@cnblogs 2018/11/30 1.getc() 头文件:stdio.h 函数声明:int getc ( FILE * stream ); 功能: - 返回流(stream)当前 ...

  5. scanf 与getchar区别

    #include<stdio.h> void main() {    int c; c=getchar(); //scanf("%c",&c); if(c!=' ...

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

    getch()和getchar()区别:1.getch(): 所在头文件:conio.h 函数用途:从控制台读取一个字符,但不显示在屏幕上例如: char ch;或int ch: getch();或c ...

  7. getchar getche getch的区别

    getchar 由宏实现:#define getchar() getc(stdin). getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘 ...

  8. gets、scanf和getchar之间的区别

    gets gets.scanf和getchar之间的区别 1. gets函数读取数据时,接受的数据包括数据和回车符.即:读取数据后输入流没有输入 操作动作. 2. scanf函数读取数据时,接受的数据 ...

  9. getchar、getch、getche 与 gets()

    一.getchar.getch.getche 1.getchar() getchar()从输入缓冲区读入一个字符,并返回这个字符的ASCII码(即函数返回值为int型),出错返回-1(EOF):如果用 ...

随机推荐

  1. poi excel导入纯数字单元格显示科学计数法的处理

    POI读取Excel文件时,对纯数字单元格的处理   用POI读取Excel文件的时候,可能会遇到这样的问题:Excel文件中某一单元格中的数据为数字,例如12345678910123. 正常读取的话 ...

  2. python 文件路径问题

    需要用到 os 模块和 sys 模块 import os print(__file__)# 输出相对路径 print(os.path.abspath(__file__)) #输出绝对路径 # D:\P ...

  3. JAVA核心技术I---JAVA开发环境配置

    一:常常有看到Java SE,Java EE,Java ME,那么他们的区别呢? 1. Java SE(Java Platform,Standard Edition  java平台标准版). Java ...

  4. PHP常亮

    define('PI','3.14'); echo PI; 名字大写,创建后不能修改和销毁 销毁变量用unset()

  5. SELECT INTO 和 INSERT INTO SELECT比较

    Insert是T-sql中常用语句,但我们在开发中经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用S ...

  6. CSS3实战之resize

    resize属性可以设置是否允许用户缩放网页中元素的大小 总共有4种取值 none vertical horizontal both 举个栗子 <!DOCTYPE html PUBLIC &qu ...

  7. 漂亮!Javascript代码模仿淘宝宝贝搜索结果的分页显示效果

    分页按钮思想: 1.少于9页,全部显示 2.大于9页,1.2页显示,中间页码当前页为中心,前后各留两个页码 先看效果图: 01输入框焦点效果 02效果 模仿淘宝的分页按钮效果控件kkpager  JS ...

  8. Java 对象初始化生命周期

    class Man { String name; int age = 20; public static int sex = 1; Man(String name, int age) { //supe ...

  9. TCP/IP 网络编程的理解

    一.网络各个协议:TCP/IP.SOCKET.HTTP等 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程 ...

  10. 【译】第九篇 Integration Services:控制流任务错误

    本篇文章是Integration Services系列的第九篇,详细内容请参考原文. 简介在前面三篇文章,我们创建了一个新的SSIS包,学习了脚本任务和优先约束,并检查包的MaxConcurrentE ...