可能重複:
How to reverse a string in place in c using pointers?如何正確反轉字符串?
我試圖扭轉使用C. 段故障發生的字符串。任何想法爲什麼?
這裏是我的代碼:
#include <stdio.h>
#include <string.h>
int main(void)
{
char *str1 = "abbd";
char *str2;
str2 = str2 + strlen(str1)-1;
while(*str1 != '\0')
*(str2--) = *(str1++);
printf("%s", str2);
return 0;
}
即使你找出分段錯誤,它也不會改變字符串。你能弄清楚爲什麼? – kindall 2012-03-31 01:15:55
即使您修復了大家指出的錯誤,也無法修改您的字符串,因爲該字符串是不可修改的。你不能修改字符串文字。 – 2012-03-31 01:31:10