我不知道怎么在字符串里查找字符,用指针应该怎么做啊。
这个应该不用像字符串的替换一样麻烦把
#include <stdio.h>
char *strchange(char * str, char c1,char c2);
void main() {
printf("输入字符串:");
char str[255];
scanf("%s", str);
char c1, c2;
printf("输入欲替换的字符:");
getchar();
scanf("%c",&c1);
printf("输入被替换为字符:");
getchar();
c2 = getchar();
char *s = strchange(str, c1, c2);
printf("%s", s);
free(s);
scanf("%s", str);
}
char *strchange(char * str, char c1, char c2) {
int len=0;
for (; str[len]; len++);
if (len == 0)
{
char *s = (char*)malloc(sizeof(char));
s[0]=0;
return s;
}
char *s = (char*)malloc(sizeof(char)*(len + 1));
for (int i = 0; i < len; i++)
{
if (str[i] == c1)
s[i] = c2;
else
{
s[i]=str[i];
}
}
s[len] = 0;
return s;
}
运行结果: