-1
下面的代碼是用來反C風格String.But當我運行這段代碼,爲什麼C代碼產生總線錯誤
它產生錯誤:
[1] 42496 bus error ./a.out
和我不不知道如何解決這個問題。你可以幫我嗎?感謝您在
提前:)
#include <stdio.h>
void reverse(char * str){
char * end = str;
char tmp;
if(str){
while(*end){
++end;
}
--end;
while(str<end){
tmp = *str;
*str++ = *end;
*end-- = tmp;
}
}
}
int main(){
char * str = "abcd";
reverse(str);
printf("%s\n",str);
}
你回答我的Windows機器上運行,解決了我的問題,謝謝:) –
詳細信息:一個字符串可以/不可以被修改的。試圖修改它是UB。 – chux