| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 572 人关注过本帖
标题:各位大虾看看我哪里错了??
取消只看楼主 加入收藏
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:1 
各位大虾看看我哪里错了??
各位帮忙看下我写的程序:
#include<stdio.h>
void main()
{
    char a,b,str[31];
    int i,j,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%s",str);
        scanf("%c%c",&a,&b);
        for(j=0;j<strlen(str);j++)
        {
            if(str[j]==a)
                str[j]=b;
        }
        puts(str);
    }
}

运行结果:
1
hello-how-are-you o O
hello-how-are-you
Press any key to continue


结果要求是输出hellO-hOw-are-yOu(注意O是大写)。这是怎么回事?本人是菜鸟。
上网搜了下后,得到如下程序:


#include<stdio.h>
void main()
{
    char a,b,str[31];
    int i,j,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%s",str);
        getchar();
        scanf("%c",&a);
        getchar();
        scanf("%c",&b);
        for(j=0;j<strlen(str);j++)
        {
            if(str[j]==a)
                str[j]=b;
        }
        puts(str);
    }
}
运行结果正常。
我想问,那个getchar();语句是什么作用啊?我用gets(str);语句输入字符串结果行不通啊。
求高手帮忙解答下:scanf gets gerchar 函数到底有什么区别。简单点的,我对缓冲区之类的不太懂……只要告诉运用这几个语句要注意些什么就行,不至于搞混淆了。谢谢了

[ 本帖最后由 cb_1212 于 2011-4-28 22:17 编辑 ]
搜索更多相关主题的帖子: continue include 
2011-04-28 22:14
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 2楼 qq1023569223
为什么像第一个程序那样写不行啊。。。
2011-04-28 22:30
快速回复:各位大虾看看我哪里错了??
数据加载中...
 
   



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

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