为了账号安全,请及时绑定邮箱和手机立即绑定

关于getch();的功能?有大佬知道的吗?

关于getch();的功能?有大佬知道的吗?

森栏 2021-12-02 11:07:45
#include<stdio.h>#include<conio.h>#include<stdlib.h>int main(void){char ch;getch();if(getch()=='1')printf("hello,world\n");system("pause");return 0;}为什么当我输入的是字符1时,不会输出hello,world呢?
查看完整描述

2 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

从控制台读取一个字符,但不显示在屏幕上。

getch()是编程中所用的函数,这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性!

易错点

MAC OS中ENTER键将产生 \r ,因此getch返回13(\r)。

getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移植性。国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar()或者使用头文件中的system("PAUSE")调用系统命令暂停;(如果情况允许)代替此功能或更换一款编译器。


查看完整回答
反对 回复 2021-12-05
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

getch()函数从控制台无回显地取一个字符
你的程序中有两个getch()函数,第一次输入的字符丢掉,第二次输入的字符与'1'比较,相等输出hello world
也就说得输入两次才行啊
在devc++下调试的

查看完整回答
反对 回复 2021-12-05
  • 2 回答
  • 0 关注
  • 255 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信