读书人

Reverse String,该怎么解决

发布时间: 2012-07-22 19:31:16 作者: rapoo

Reverse String

C/C++ code
#include <iostream>#include <cstring>using namespace std;void reverse(char* str);int main(){    char* str = "character";    reverse(str);    return 0;}void reverse(char* str){    char* pbegin = str;    unsigned len = strlen(str);    char* pend = pbegin + len - 1;    while(pbegin < pend)    {        char tem = *pbegin;        *pbegin++ = *pend;        *pend-- = tem;    }}


一个简单的reverse string 程序居然异常,求解...

[解决办法]
修改常量区自然不行
char* str = "character";
修改为
char str[64] = "character";

[解决办法]
#pragma comment(linker,"/SECTION:.rdata,RW")
加上面这句让常量区可写
[解决办法]
楼主,1楼的意思是char* str = "character";中定义的str指针,指向的内容是常量(注意是指向的内容是常量,str本身不是常量),所以这一句*pbegin++ = *pend;会出现异常。你改成char str[] = "character";应该就可以了。

读书人网 >C++

热点推荐