| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1117 人关注过本帖
标题:getch();和getchar();的区别
只看楼主 加入收藏
lujunjie1993
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2011-7-12
结帖率:0
收藏
已结贴  问题点数:10 回复次数:14 
getch();和getchar();的区别
如果控制台程序中,没有加getchar();或getch();会一闪而过,例如下图
图片附件: 游客没有浏览图片的权限,请 登录注册

加了getchar();就不会一闪而过!
图片附件: 游客没有浏览图片的权限,请 登录注册

同样加了getch();也不会一闪而过!
图片附件: 游客没有浏览图片的权限,请 登录注册

但是发现,在scanf函数下,他们有区别!
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 lujunjie1993 于 2012-1-11 16:31 编辑 ]
搜索更多相关主题的帖子: 控制台 
2012-01-11 16:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
看庫函數參考手冊呀,不看永遠不知道有什麼區別。

授人以渔,不授人以鱼。
2012-01-11 17:24
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:1 
getchar()是标准库里的,getch()不是。

My life is brilliant
2012-01-11 22:06
飞64213118
Rank: 2
等 级:论坛游民
帖 子:23
专家分:16
注 册:2011-10-2
收藏
得分:1 
getch在<conio.h>里面
getchar在<stdio.h>里面
2012-01-11 22:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
呵呵,如果只有這麼點區別就不必劃分兩個頭了。

授人以渔,不授人以鱼。
2012-01-11 23:50
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:1 
rtfm

总有那身价贱的人给作业贴回复完整的代码
2012-01-12 00:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
其實,只要看通了我下面這個代碼為什麼要用_getch()而不是getchar(),就能明白兩者的區別。

程序代码:
int get_choice(void)
{
    const char choiceList[] = "abcdq";
    int ch;
   
    printf("\n");
    printf("A.add     \tB.subtract\n");
    printf("C.multiply\tD.divide\n");
    printf("Q.quit\n");
    printf("Please the operation of your choice:");
    do
    {
        ch = tolower(_getch());
    } while (!strchr(choiceList, ch));
    _putch(ch);

    return ch;
}

授人以渔,不授人以鱼。
2012-01-12 01:40
Abiosis
Rank: 2
等 级:论坛游民
帖 子:13
专家分:33
注 册:2012-1-12
收藏
得分:1 
getch在<conio.h>里面
getchar在<stdio.h>里面
2012-01-12 13:35
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:1 
getchar() 是能回显的,getch() 是不能回显的。

梅尚程荀
马谭杨奚







                                                       
2012-01-12 15:19
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:1 

getch在<conio.h>里面
 getchar()在<stdio.h>里面

个人理解:
两者都能在程序起到暂停的作用。在使用的时候, getchar()主要是接受输入时的回车,getch则是在程序运行的时候起到延时的作用,好比加了一个“按任意键继续...”的功能。
     

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2012-01-12 22:54
快速回复:getch();和getchar();的区别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019241 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved