我正在學習C語言中期的一些基本功能,並且我意識到我錯誤地抄下了我的教師示例。我可能只是太累了,現在不想這樣做,而且我會不勝感激。如何手動替換C中的字符串中的最後一個匹配項?
void replace_last(char s[], int oldc, int newc){
size_t i, pos-1; /* I have no idea why I wrote pos-1. I know I need it though */
for(i = 0; s[i] != '\0'; i++){
if(s[i] == oldc)
pos == i;
if(pos != -1)
s[pos] = newc;
}
}
「我知道我需要它,但」 - 我真的不認爲你的代碼中有語法錯誤。 – Mat
我想,應該有pos = - 1;因爲只是pos-1評估rvalue這是沒有分配給任何東西..我認爲這是初始化pos – Omkant