#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")调用系统命令暂停;(如果情况允许)代替此功能或更换一款编译器。
慕田峪7331174
TA贡献1828条经验 获得超13个赞
getch()函数从控制台无回显地取一个字符
你的程序中有两个getch()函数,第一次输入的字符丢掉,第二次输入的字符与'1'比较,相等输出hello world
也就说得输入两次才行啊
在devc++下调试的
添加回答
举报
0/150
提交
取消