| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 132 人关注过本帖
标题:关于getchar()
收藏  订阅  推荐  打印 
shade1220
Rank: 2
等级:注册会员
帖子:83
积分:1004
注册:2008-8-5
关于getchar()

#include <stdio.h>
#include <stdlib.h>
//#include <alloc.h>
#include <string.h>
#include <assert.h>

int main(void)
{
    char *p;
    char p1[10],p2[10],p3[10];
    scanf("%s",p1);
    printf("\n");
    scanf("%s",p2);
    printf("\n");
    scanf("%s",p3);
    printf("\n");
    p=(char *)(malloc(strlen(p1)+strlen(p2)+strlen(p3)+1));
    assert(p != NULL);
    strcpy(p,p1);
    strcat(p,p2);
    strcat(p,p3);
    printf("%s",p);
    //getchar();      这里的
    getchar();
    free(p);
    return 0;

}
为什么我这里用一个getchar控制台还是会直接退出?用了2个救ok了?
搜索更多相关主题的帖子: getchar  
2008-9-16 10:51
就搞C
Rank: 2
等级:注册会员
帖子:64
积分:967
注册:2008-6-9

你输入完成后还有打一个enter啊,一个getchar的话就接受了enter的值.
2008-9-16 11:15
forever74
Rank: 4
等级:高级会员
威望:3
帖子:515
积分:5984
注册:2007-12-27

第一个getchar收到的是上面最后一个scanf执行的时候你最后敲的回车'\n'
第二个才会起暂停作用

为了暂停建议不要用getchar
可以用getch,别忘了#include <conio.h>
也可以用system("pause");
看你喜欢哪个

当然了,最好是什么函数都不用,用执行完会自动暂停的开发环境。
2008-9-16 14:12
StarWing83
Rank: 12Rank: 12Rank: 12
来自:湖北工业大学
等级:版主
威望:9
帖子:2483
积分:26219
注册:2007-11-16

LS:system("pause")可移植,不会出这种问题。

其实建议自己开个DOS窗口测试……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-9-16 16:41
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051339 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved