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

#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呢?

森栏
浏览 290回答 2
2回答

猛跑小猪

从控制台读取一个字符,但不显示在屏幕上。getch()是编程中所用的函数,这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性!易错点MAC OS中ENTER键将产生 \r ,因此getch返回13(\r)。getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移植性。国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar()或者使用头文件中的system("PAUSE")调用系统命令暂停;(如果情况允许)代替此功能或更换一款编译器。

慕田峪7331174

getch()函数从控制台无回显地取一个字符你的程序中有两个getch()函数,第一次输入的字符丢掉,第二次输入的字符与'1'比较,相等输出hello world也就说得输入两次才行啊在devc++下调试的
打开App,查看更多内容
随时随地看视频慕课网APP