可能重复:
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