反向字符串错误

时间:2012-11-20 10:33:54

标签: objective-c c char reverse

我自己编写reverseString函数。 (供测试使用)我使用iOS平台运行我的c代码,这听起来很奇怪,但再次,测试使用......

这是我的代码:

-(char *) reverseString:(char *)str
{
    char *end = str;
    char tmp;

    if (str)
    {
        while (*end) { end++; }
        --end;
        NSLog(@"%c", *end);
        while (end>str)
        {
            tmp = *str;
            *str = *end;
            str++;
            *end = tmp;
            end--;
        }
    }
    NSLog(@"%s", str);
    return str;
}

通过调用:

运行该函数
char *testChar = "abcd";
[self reverseString:testChar];

我收到了在线错误:

*str = *end;
Thread 1: EXC_BAD_ACCESS(code=2, address=0x2de4)

我真的不知道这里的指针有什么问题......任何人都有任何想法?

1 个答案:

答案 0 :(得分:4)

您无法修改字符串文字。请改用char数组。

char testChar[] = "abcd";