C语言scanf("%c"),getchar(),getch(),getche()的问题
1、这些函数读取的字符都是存放在哪的?有些是存放在同一地方的吗?(sacnf()和getchar()好像就是存放在同一地方的)2、假如存放在同一地方时调用它们其中几个会冲...
1、这些函数读取的字符都是存放在哪的?有些是存放在同一地方的吗?(sacnf()和getchar()好像就是存放在同一地方的)
2、假如存放在同一地方时调用它们其中几个会冲突吗?
3、比如说用getch()做按任意键继续的暂停效果,当按下任意键后这个任意键会不会被存起来从而影响其他类似的函数?就像用getchar()输入一个字符,当按下Enter键同时也会把Enter(\n)存起来,这个\n就会对后面的某些功能照成影响。
4、还有按任意键继续不是有system("pause");这个函数吗?为什么要用到字符输入函数?是不是system("pause");这个函数有什么缺点?这个函数功能是怎么实现的?会不会也和其他输入函数一样存放字符?
5、之前我说的getchar()会存放\n,为什么在这之后再写一遍getchar()或其他方法就能去掉\n?
不好意思。。。。我是新手,问题可能比较多。。。。希望大家能详细回答下,感激不尽!!
之前我也百度过好多都不懂,比如说getchar()输入的字符是存在键盘缓冲区的,所以干脆来问了 展开
2、假如存放在同一地方时调用它们其中几个会冲突吗?
3、比如说用getch()做按任意键继续的暂停效果,当按下任意键后这个任意键会不会被存起来从而影响其他类似的函数?就像用getchar()输入一个字符,当按下Enter键同时也会把Enter(\n)存起来,这个\n就会对后面的某些功能照成影响。
4、还有按任意键继续不是有system("pause");这个函数吗?为什么要用到字符输入函数?是不是system("pause");这个函数有什么缺点?这个函数功能是怎么实现的?会不会也和其他输入函数一样存放字符?
5、之前我说的getchar()会存放\n,为什么在这之后再写一遍getchar()或其他方法就能去掉\n?
不好意思。。。。我是新手,问题可能比较多。。。。希望大家能详细回答下,感激不尽!!
之前我也百度过好多都不懂,比如说getchar()输入的字符是存在键盘缓冲区的,所以干脆来问了 展开
2个回答
展开全部
1·这些函数都是从键盘缓冲区读取键盘的按键输入。键盘缓冲区由系统进行管理。
2.没什么冲突。
3.这些函数Scanf()要求必须把输入保存于内存变量中,其它函数可不保存。
4. 实现一个功能可由多个函数突现,不一定就好坏分明,只不过在不同的场合各有优势。
2.没什么冲突。
3.这些函数Scanf()要求必须把输入保存于内存变量中,其它函数可不保存。
4. 实现一个功能可由多个函数突现,不一定就好坏分明,只不过在不同的场合各有优势。
追问
哦,不好意思,我第三那条说的存起来不是说存在内存中,是存在键盘缓冲区中,其实我第2条说的冲突就是指用getchar()存放字符会把回车也存放进去,这样的冲突还有吗
追答
键盘缓冲区(缓冲队列)内的键值一旦就某个函数所读取,该键值对程序来说就不在缓冲区中存在了。所以你说的冲突不存在。
至于回车,有些函数是将其作为数据分隔符使用,如scanf。另外的函数则可接收该健値。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询