简单的编程只是替换字符数组的一封信努力学习指针来代替焦炭。不知道是什么问题,我只是得到输出“senrence” 也许我宣布一个字符串或者是我的指针逻辑错了吗?使用指针在字符数组
void replace(char *s,char *ptr_r,char *ptr_t);
int main()
{
char s[] = "senrence";
char ch ='r';
char replacer = 't';
char *ptr_r = &ch;
char *ptr_t = &replacer;
replace(s,ptr_r,ptr_t);
int i;
for(i=0;i<8;i++)
{
printf("%c",s[i]);
}
return 0;
}
void replace(char *s,char *ptr_r,char *ptr_t)
{
char *p;
for(p=s;*p != '\0';p++)
{
if(*p==*ptr_r)
*(ptr_t) = *(p);
}
s= '\0';
}
在'replace()'中尝试'* p = * ptr_t'。 –
工作正常!非常感谢你!! – John
顺便说一句's ='\ 0';'没有必要(这没有意义)。对于'ch'和'replacer',为什么你需要将参数作为一个指针? – BLUEPIXY