在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即\n) 1)windows平台下enter键会产生两个转义字符 \r\n,因此getch返回13(\r). 2)unix、 linux系统中enter键只产生 \n ,因此getch返回10(\n). 3)mac os中enter键将产生 \r ,因此getch返回13(\r). getch();并非标准c中的函数,不存在c语言中.所以在使用的时候要注意程序的可移植性. 因此,你改成判断 if ( a[i]=='\r') break; 再试试
1、这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,比如用的游戏需要用到方向键,就可用这个函数读取.下面用一个示例来演示用法,首先新建一个c语言的空白文件:2、程序用switch语句输出4个方向键的值,这里使用getch读取字符时,读取一次就行 而读取方向键和功能键是,需要读取两次,getch函数在读取一个功能键或者箭头(方向)键盘时,函数会返回两次,第一次调用返回0或者0xE0,第二次调用返回实际的键值:3、运行写好的程序,在控制台中就会输出4个方向键的值.以上就是getch函数的用法介绍:
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ascii码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.
当然要两次啊 if (getch()=='#') break; ch=getche(); 第一个getch取一次 第二个getche再取一次不是两次?
getch这个函数是从键盘输入一个字符要包含头文件#include“stdlib.h”用法 char x;x=getchar();putchar(x);
getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行
ch=getchar(); //从缓冲区中读入一个字符赋给ch while (ch != '#') //检查ch是否等于'#' putchar(ch); //如果不等于'#'则执行循环体,输出ch的值然后返回上一行 getchar(); //如果ch不等于'#',这里的代码永远不会执行到
getch();并非标准c中的函数,不存在c语言中.!!所在头文件:conio.h建议换成getchar()之类的getch() getch(): 所在头文件:conio.h 函数用途:从控制台读取一个字符,但不显示在屏幕上 函数原型:int getch(void) 返回值:读取的
#include <stdio.h> #include <curses.h> //linux 下 #include <conio.h> //window 平台 int main(void) { char ch; initscr();//linux 下 printf("Input a character:"); ch = getch(); printf("\nYou input a '%c'\n", ch); endwin();//linux 下 return 0; } #include <stdio.h
函数用途:从控制台读取一个字符,但不显示在屏幕上 并非标准C中的函数,不存在C语言中.所以在使用的时候要注意程序的可移植性.国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar();