| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 291 人关注过本帖
标题:scanf("%d\n")??多了个换行符,就得多敲入一个数字才能正常输出???
收藏  订阅  推荐  打印 
GaFu
Rank: 1
等级:新手上路
帖子:37
积分:472
注册:2008-9-4
scanf("%d\n")??多了个换行符,就得多敲入一个数字才能正常输出???

#include<stdio.h>

int max(int a,int b)
{
    int MAX;
    MAX=a>b?a:b;
    return MAX;
}


int main(void)
{    
    int (*pmax)(int,int);
    int x,y,z;
    int max(int a,int b);
    pmax=max;
    printf("Please input two data:\n");
    scanf("%d %d\n",&x,&y);/*scanf函数后边加了换行符出问题*/
    printf("%d    %d\n",x,y);
    z=(*pmax)(x,y);
    printf("%d\n",z);
    return 0;
}
本来是接收2个字符的,不小心加了个换行符,结果要输入三个数字后,再回车才可以正常输出结果?

为什么
搜索更多相关主题的帖子: scanf  数字  输出  
2008-9-8 12:20
csynyk
Rank: 2
等级:注册会员
威望:1
帖子:114
积分:1460
注册:2008-8-9

printf("Please input two data:\n");
    scanf("%d %d\n",&x,&y);
    fflush(stdin); //清空一下缓冲区就没问题呢!

http://blog.csdn.net/csynyk
2008-9-8 14:51
vfdff
Rank: 6Rank: 6
等级:金牌会员
威望:4
帖子:1201
积分:13367
注册:2005-7-15
回复 1# GaFu 的帖子

回车符也要占据一个 字符空间
2008-9-9 01:03
haozi163
Rank: 1
等级:新手上路
帖子:26
积分:318
注册:2007-9-21

哈哈你加什么换行呢
2008-9-9 09:31
heartstring
Rank: 1
等级:新手上路
帖子:14
积分:250
注册:2008-9-9

回复 1# GaFu 的帖子
回车符也要占据一个 字符空间
2008-9-9 09:43
forever74
Rank: 4
等级:高级会员
威望:2
帖子:505
积分:5844
注册:2007-12-27

scanf里面是不翻译转义字符的,所以那个\n不会被理解成回车,仅仅是两个字符本身
所以输入了真正需要的数值以后还需要追加两个字符才能结束,就是这样
2008-9-9 10:41
sun389567475
Rank: 1
等级:新手上路
帖子:25
积分:374
注册:2008-8-18

多按个回车就可以啦
2008-9-9 11:11
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

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