簡單的編程只是替換字符數組的一封信努力學習指針來代替焦炭。不知道是什麼問題,我只是得到輸出「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