首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Reverse String,该怎么解决

2012-07-22 
Reverse StringC/C++ code#include iostream#include cstringusing namespace stdvoid reverse(char*

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";应该就可以了。

热点排行