编译错误,求大家帮帮忙

zqdreamer zqdreamer 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个代码功能是实现单词翻转顺序,例如i am a student.---> student. a am i
但在编译中发生错误,试了很久,不知道具体原因是什么,求大家帮帮忙。
void reverse(char *pBegin, char *pEnd){
if(pBegin == NULL || pEnd == NULL)
return;
while(pBegin < pEnd){
char temp = *pBegin;
*pBegin = *pEnd; //编译到这地方失败,0xC0000005: 写入位置 0x0087DCAC 时发生访问冲突。
*pEnd = temp;
pBegin++;
pEnd--;
}
}
char* reverseSentence(char *pData){
if(pData == NULL)
return NULL;;
char *pBegin = pData;
char *pEnd = pData;
while(*pEnd!='\0') pEnd++;
pEnd--;
//旋转句子
reverse(pBegin,pEnd);
//旋转单词
pBegin = pData;
pEnd = pData;
while(*pBegin !='\0'){
if(*pBegin == ' '){
pBegin++;
pEnd++;
}else if(*pEnd == '\0' || *pEnd == ' '){
reverse(pBegin,--pEnd);
pBegin = ++pEnd;
}else{
pEnd++;
}
}
return pData;
}
...全文
评论 11
收藏 已收藏
分享
返回顶部
zqdreamer
C++ 语言 65,214 成员 250,514 内容