猿问

getchar()是什么意思?

getchar()是什么意思?末尾有没有它有什么区别?

jeck猫
浏览 1122回答 2
2回答

不负相思意

getchar()是c语言中的一个函数,可以用它来赋一个字符的值。当程序调用getchar时,程序就等待用户按键并将输入的字符被存放在键盘缓冲区中。getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕。在此之前,如果用户在按回车之前输入了一个以上的字符,那么其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。  getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1。

浮云间

这个问题,谭浩强的C语言设计第二版没有讲清楚,或者没有讲。查了查其它的资料,总算搞清楚了。getch()、getche()和getchar()函数(1) getch()和getche()函数这两个函数都是从键盘上读入一个字符。其调用格式为:getch();getche();两者的区别是: getch()函数不将读入的字符回显在显示屏幕上, 而getche()函数却将读入的字符回显到显示屏幕上。例1:#includemain(){char c, ch;c=getch(); /*从键盘上读入一个字符不回显送给字符变量c*/putchar©; /*输出该字符*/ch=getche(); /*从键盘上带回显的读入一个字符送给字符变量ch*/putchar(ch);}利用回显和不回显的特点, 这两个函数经常用于交互输入的过程中完成暂停等功能。例2:#includemain(){char c, s[20];printf("Name:");gets(s);printf("Press any key to continue...");getch(); /*等待输入任一键*/}(2) getchar()函数getchar()函数也是从键盘上读入一个字符, 并带回显。它与前面两个函数的区别在于: getchar()函数等待输入直到按回车才结束, 回车前的所有输入字符都会逐个显示在屏幕上。但只有第一个字符作为函数的返回值。getchar()函数的调用格式为:getchar();例3:#includemain(){char c;c=getchar(); /*从键盘读入字符直到回车结束*/putchar©; /*显示输入的第一个字符*/getch(); /*等待按任一健*/}例4#includemain(){char c;while ((c=getchar())!='\n') /*每个getchar()依次读入一个字符*/printf("%c",c); /*按照原样输出*/getch(); /*等待按任一健*/}
随时随地看视频慕课网APP
我要回答