为了账号安全,请及时绑定邮箱和手机立即绑定

请问关于c语言 编写replaceWord函数?

请问关于c语言 编写replaceWord函数?

C
拉风的咖菲猫 2019-08-16 15:10:41
c语言 编写replaceWord函数
查看完整描述

3 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

主要错误是字符串比较不能直接用==,而是用strcmp函数,字符串相等返回值是0
if(t==word_tab[n])

改为
if(strcmp(t, word_tab[n]) == 0)

if(n<4)
        {   strcpy(tmp,s+i+strlen(t));
            strcpy(s+i,word_tab[(n+1)%4]);
            strcat(s,tmp); // 原来这里是strcpy是错的
            i=i+strlen(word_tab[(n+1)%4]);
         }

主函数中
putchar(line[80])这句也有问题,要改为
puts(line);



查看完整回答
反对 回复 2019-08-24
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

没什么大错误,只是读取字串,不需要循环,只要%s读取就行,

#include<stdio.h>
int main()
{
int replace(char a[]);
char a[20];
int i;
/*
for(i=0;i<20;i++)
scanf("%s",a[i]);
*/
scanf("%s",a);
replace(a);
/*
for(i=0;i<20;i++)
printf("%s",a[i]);
*/
printf("%s",a);
printf("\n");
return 0;
}
int replace(char a[])
{
int n=0;
int i;

for(i=0;i<20-1;i++)
//scanf("%s",a[i]);

if(a[i]=='t')
{n=n+1;a[i]='e';}
else if(a[i]=='T')
{n=n+1;a[i]='E';}
printf("替换字符的个数:%d",n);
return n;
}



查看完整回答
反对 回复 2019-08-24
?
杨魅力

TA贡献1811条经验 获得超6个赞

改成这样就行了

1234567891011121314151617181920212223242526272829#include<stdio.h>int replace(char a[]);int main(){    char a[20];    int n;    scanf("%s", a);    n = replace(a);    printf("%s 替换字符的个数:%d\n", a, n);    return 0;}int replace(char a[]){    int n=0;    int i;    for (i = 0; a[i] != '\0'; i++)    {        if(a[i]=='t'        {            n=n+1;            a[i]='e';        }        else if(a[i]=='T'        {            n=n+1;            a[i]='E';        }    }    return n;





查看完整回答
反对 回复 2019-08-24
  • 3 回答
  • 0 关注
  • 404 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信