C++:逆转一个单词ori,将逆转后的单词由字符指针ori传回,下面的程序为什么不能输出?#include#includevoid 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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 19:32:24
C++:逆转一个单词ori,将逆转后的单词由字符指针ori传回,下面的程序为什么不能输出?#include#includevoidReverseWord(char*ori){inti=0,len=st

C++:逆转一个单词ori,将逆转后的单词由字符指针ori传回,下面的程序为什么不能输出?#include#includevoid 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传回,下面的程序为什么不能输出?
#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传回,下面的程序为什么不能输出?#include#includevoid 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
帮你稍微改了一下,错误之处在于你传入到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