cに部分文字列の問題があります。部分文字列が適切に変更されていません。fooを見つけて他のものに置き換える必要がありますが、変更できません。「o」の部分を変更するだけです。手伝ってください。
#include <stdio.h>
#include <string.h>
char *replace(char *s, char old, char newer)
{
char *p = &s[0];
while(*p)
{
if(*p == old)
*p = newer;
p++;
}
return s;
}
int main()
{
char mystr[250];
printf("enter ");
gets(mystr);
puts(replace(mystr, 'foo', 'bars'));
return 0;
}