我的代码不能正常工作,我做错了什么?正如标题所说,它应该创建一个用 3.14 替换 'pi' 的新字符串。当我输入 pi 时它可以正常工作,但是当我输入像“pipi”这样的东西时它只返回 3.14 而不是 3.143.14...谢谢你的帮助:)
#include<stdio.h>
#include<string.h>
char c[50];
char xy(char a[],int b)
{
if(b>=strlen(a))
return a;
else if(a[b]=='p' && a[b+1]=='i'){
c[b]='3';
c[b+1]='.';
c[b+2]='1';
c[b+3]='4';
return xy(a,b+4);}
else if(a[b]!='i') {
c[b]=a[b];
return xy(a,b+1);
}
}
int main()
{
char a[50];
scanf("%s",&a);
xy(a,0);
printf("%s",c);
return 0;
}