| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 461 人关注过本帖
标题:printf输出问题
只看楼主 加入收藏
hf201089
Rank: 2
等 级:论坛游民
帖 子:48
专家分:25
注 册:2012-3-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
printf输出问题
程序代码:
int main()
{
    char ch;
    printf("1.create.");
    printf("\n");
    printf("2.delete.");
    printf("\n");
    printf("3.insert.");
    printf("\n");
    printf("4.search.");
    printf("\n");
    printf("请输入操作序列号:");
while((ch=getchar())!=EOF)
    {   
    switch(ch)
        {
        case('1'): create();break;
        case('2'): del();break;
        case('3'): insert();break;
        case('4'): search();break;
        }   
    printf("请输入操作序列号:");
    }
}
为什么输出结果为
1.create.
2.delete.
3.insert.
4.search.
请输入操作序列号:N
...
请输入操作序列号:请输入操作序列号:


最后为什么出现2个请输入操作序列号:呢?

2012-04-02 17:04
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:20 
printf("请输入操作序列号:");上面加一句getchar();

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2012-04-02 17:13
hf201089
Rank: 2
等 级:论坛游民
帖 子:48
专家分:25
注 册:2012-3-4
收藏
得分:0 
回复 2楼 NoSoul
非常感谢,但能说下为什么吗?
2012-04-02 17:16
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:0 
回复 3楼 hf201089
你输入 操作时 会带有一个回车, 加的getchar();就是为了吃掉回车。

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2012-04-02 17:18
chinaflag
Rank: 2
来 自:福建泉州
等 级:论坛游民
帖 子:46
专家分:83
注 册:2012-4-1
收藏
得分:0 
回复 4楼 NoSoul
学习了
2012-04-02 21:30
樾宝
Rank: 3Rank: 3
来 自:常德
等 级:论坛游侠
帖 子:72
专家分:147
注 册:2011-8-19
收藏
得分:0 
肯定啦!每个结果都是一样的,怎么会不同呢?
2012-04-03 10:43
快速回复:printf输出问题
数据加载中...
 
   



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

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