C语言scanf("%c"),getchar(),getch(),getche()的问题

1、这些函数读取的字符都是存放在哪的?有些是存放在同一地方的吗?(sacnf()和getchar()好像就是存放在同一地方的)

2、假如存放在同一地方时调用它们其中几个会冲突吗?
3、比如说用getch()做按任意键继续的暂停效果,当按下任意键后这个任意键会不会被存起来从而影响其他类似的函数?就像用getchar()输入一个字符,当按下Enter键同时也会把Enter(\n)存起来,这个\n就会对后面的某些功能照成影响。
4、还有按任意键继续不是有system("pause");这个函数吗?为什么要用到字符输入函数?是不是system("pause");这个函数有什么缺点?这个函数功能是怎么实现的?会不会也和其他输入函数一样存放字符?
5、之前我说的getchar()会存放\n,为什么在这之后再写一遍getchar()或其他方法就能去掉\n?
不好意思。。。。我是新手,问题可能比较多。。。。希望大家能详细回答下,感激不尽!!
之前我也百度过好多都不懂,比如说getchar()输入的字符是存在键盘缓冲区的,所以干脆来问了

1·这些函数都是从键盘缓冲区读取键盘的按键输入。键盘缓冲区由系统进行管理。
2.没什么冲突。
3.这些函数Scanf()要求必须把输入保存于内存变量中,其它函数可不保存。
4. 实现一个功能可由多个函数突现,不一定就好坏分明,只不过在不同的场合各有优势。追问

哦,不好意思,我第三那条说的存起来不是说存在内存中,是存在键盘缓冲区中,其实我第2条说的冲突就是指用getchar()存放字符会把回车也存放进去,这样的冲突还有吗

追答

键盘缓冲区(缓冲队列)内的键值一旦就某个函数所读取,该键值对程序来说就不在缓冲区中存在了。所以你说的冲突不存在。
至于回车,有些函数是将其作为数据分隔符使用,如scanf。另外的函数则可接收该健値。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-19
自己百度百科这些函数 有详细解释。 你说的这些问题都被很好的解决了。 如果你能读懂头文件中的这些函数怎么写的 大概你就懂了追问

大哥我是新手,初学C,要是能读懂我就不来问了,好歹我都打那么多字,你就一句让我去问百度吗

追答

新手你问这些了解这些? 自己都看不懂,问来做什么。。。
涉及到操作系统,编译原理,数据结构三部分的知识点,有人给你解释你也不懂。

追问

你有木有仔细看啊。。我没有问的很深啊,我只是问它们读取的字符是不是存放在同一地方会不会冲突、几个函数一起用会不会影响等,大多数只要回答是或不是,会或不会就好了,哪有那么麻烦。可你说了半天什么都没给我解释就说给我解释我都不懂,你这是来回答我的问题的吗?

追答

得得得,你自个玩

追问

到头来还是什么都没回答,我呵呵。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网