问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

getchar函数怎么用

发布网友 发布时间:2022-04-22 12:30

我来回答

3个回答

热心网友 时间:2023-10-13 19:22

  您好,你的程序没有任何问题,运行不了是因为你的VC6.0安装出了问题,你可以到你工程目录下去找Debug文件夹,里面有个可执行程序,那就是生成的可执行程序,因为VC6.0实在是有点老,在WIn7上会出现各种问题,建议改用VS2010,这是最新的VC软件,非常好用,以下是getchar的用法。



   

         从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符。


    

      该函数声明在stdio.h头文件中,使用的时候要包含stdio.h头文件。如:

       #include<stdio.h>

       int getchar(void);


        

            getchar 由宏实现:#define getchar() getc(stdin)。getchar有一个int型的返回值.当程  序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.


          getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回,getch返回值是用户输入的ASCⅡ码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.getch()是非缓冲输入函数,就是不能用getch()来接受缓冲区已存在的字符。如以下C++程序:

int i;while(cin>>i);cin.clear();getchar();

            运行时如果输入1 2 3 a时必须用getchar()才能在后面程序获得正常输入,即使先前已经恢复流了,此处用getch()是万万不行的。


           另外补充个函数,getche(),这个函数与前两上类似,功能也相近,都是输入一个字符,返回值同样是输入字符的ASCII码,但不同的是,此函数在输入后立即从控制台取字符,不以回车为结束(带回显)



   

#include<stdio.h>
#include<conio.h>
intmain(void)
{
intc;
inta;
a=getchar();
printf("%c",a);
while((c=getchar())!='\n')//c接收的值是输入第一个字符后按下的回车换行符'\n',c是不会显示的
{
printf("%c",c);
}
getchar();
return0;
}


注:可以利用getchar()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,用法:在主函数结尾,return 0;之前加上getchar();即可



                   希望能帮到你,望采纳,谢谢!

热心网友 时间:2023-10-13 19:22

getchar()是到缓冲区读取第一个字符
首先,从键盘输入许多字符,最后回车后,所有字符包括回车放到缓冲区
这时才开始循环执行getchar(),读入一个字符判断是否回车,不是就继续读,是回车就退出循环(之所以说是顺序接受一行字符,是因为它取的始终是缓冲区中第一个字符,每取一个缓冲区的字符少一个,也就是顺序读取了)

热心网友 时间:2023-10-13 19:23

你改啦,知道啦,忘了头文件啦。前面加个#include<conio.h>追问

VC++6.0   没有错误,也无法执行

追答

你是不是同时打开了多次C++6.0,另外单个的文件不用建立工程,直接点“新建”按钮(截图红色的),编译时(截图绿色的,依次按那3个按钮),提示保存时,文件名一定要加“.c”,看我的截图,还有不要复制网上的代码(可能有不识别的字符),自己输入代码,另外所有标点必须是英文状态的,你这道题不涉及到中文输入,直接把输入法关了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
赵玉平名家论坛 赵玉平人物经历 杭州市汽车西站 现在能提前几天售票啊? 请问杭州西站汽车票可以提前几天买? 杭州汽车西站在节假日的时候需要提前买票的吗 散步有助于减肥吗 魑瑟忝箜莫尘读什么 端午送什么 端午节家里要摆放什么东西 龙舟是如何制作的? 如何做一煲好吃的支竹萝卜羊肉煲 焖羊肉煲的做法及配料 腐竹羊肉煲的做法,腐竹羊肉煲怎么做好吃 支竹萝卜焖羊肉怎么做 羊肉炖腐竹的做法 支竹羊腩做法 腐竹焖羊肉怎么做 支竹焖羊肉的做法,支竹焖羊肉怎么做好吃,支竹 新婚姻法对离婚时房产怎么规定,离婚时房子如何分割? 新婚姻法离婚后财产怎么分割 新婚姻法对离婚房产分割有规定吗 新婚姻法离婚房子分割 婚姻法对离婚房产分割是如何规定 新婚姻法对离婚房产分割有哪些规定 新婚姻法对离婚房产分割的规定有什么呢 2020年新婚姻法女方父母折迁所分房产男方离婚的时候可以分割吗? 新婚姻法离婚房产如何分割? 新婚姻法,离婚房产如何分割,离婚后房子归谁 新婚姻法离婚房产怎么分 2020年离婚法最新规定财产怎么分 cad显示未找到acfields插件 getchar()函数的用法 加载Auto CAD自定义文件失败未找到aAuto CAD.cui如何解决? getchar()怎么使用 CAD提示找不到acad.cui文件 我安装完天正8.5后运行结果弹出(加载自定义文件失败。未找到文件:acad) 我安装的是WIN7+CAD2012 c语言getchar用法是怎么样的? win10系统安装CAD2016打开后显示系统找不到acad.exe,请确定文件名是否正确?怎么解决? c语言里getchar()是什么 打开T20显示加载acad.lin不成功怎么处理 win10 64位 安装CAD2014时出现ALlied product is not found? getchar()是什么意思? cad自定义界面打不开 getchar函数的作用 在AutoCAD中找不到acad.mns getchar函数是什么函数 天正加载管线失败 auto cad2011 打开是找不到acad文件 是怎么回事啊? 无头苍蝇的歇后语是什么 “无头苍蝇——?”打一歇后语