作业帮 > 综合 > 作业

C++:逆转一个单词ori,将逆转后的单词由字符指针ori传回,下面的程序为什么不能输出?

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/17 02:08:13
C++:逆转一个单词ori,将逆转后的单词由字符指针ori传回,下面的程序为什么不能输出?
#include
#include
void ReverseWord(char *ori)
{
int i=0,len=strlen(ori);
char *s1,*s2;
s1=new char[len+1];
strcpy(s1,ori);
s2=s1+len-1;
for(i=0;i
C++:逆转一个单词ori,将逆转后的单词由字符指针ori传回,下面的程序为什么不能输出?
帮你稍微改了一下,错误之处在于你传入到ReverseWord函数中的参数是字符串地址,常量字符串存放的空间是只读的没法写入,而你在函数中 ori[i]=*s2--;当然就内存出错了.char* 本身只是个指针变量(4字节),如果你开始把字符串放到字符数组中或者申请空间,就没有问题了.
void ReverseWord(char *ori)
{
int i=0,len=strlen(ori);
char *s1,*s2;
s1=new char[len+1];
strcpy(s1,ori);
s2=s1+len-1;
for(i=0;i