>
xml地图|网站地图|网站标签 [设为首页] [加入收藏]

银河163网站运行结果有点小错  不知道那错  请

- 编辑:银河至尊官网网址 -

银河163网站运行结果有点小错  不知道那错  请

#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
class person
{string pname;
//char*pname;
public:
 person(char* pn="noname")
 {cout<<"constructing "<<pn<<endl;
     //pname=new char[strlen(pn)+1];
  //if( pname) strcpy(pname,pn);
  pname=pn;
 
 }
 person(const person &s)
 {cout<<"copy constructing   "<<s.pname<<endl ;
     //pname=new char[strlen(s.pname )+1];
  //if(pname) strcpy(pname,s.pname );
 
 
 }
 ~person()
 {cout<<"destructing  "<<pname<<endl;
 
 }

};
void main()
{person p1("zhang");
person p3(p1);

昨天看的道题目,试了下,两个程序,第一个貌似正常,结果输出数组越界,第二个尝试稍微改动,结果程序崩溃....求助....

}

已知 strcpy函数的原型是 char *strcpy (char *strDest,const char *strSrc);
其中strDest是目的字符串  strSrc是源字符串,不能调用C++/C的字符串库函数
写出strcpy函数???
char *strcpy (char *strDest,const char *strSrc)
上面是题目

运行结果有点小错  不知道那错  请指点下巴

#include<iostream>
using namespace std;
char *strcpy (char *strDest,const char *strSrc);
int main()
{
    char *s1="hello word";
    char*s2=new char[strlen(s1)+1];
    strcpy(s2,s1);
    cout<<s1<<endl;
    cout<<s2<<endl;
    system("pause");
    return 0;
}
char *strcpy (char *strDest,const char *strSrc)
{
     int i;
     for(i=0;i<strlen(strSrc);i++)
     strDest[i]=strSrc[i];
     return strDest; 
}
输出来的结果:hello word
hello wordrosoftP葑勳O
请按任意键继续. . .银河163网站 1银河163网站 2银河163网站 3银河163网站 4银河163网站 5求解释

改动后:

#include<iostream>
using namespace std;
char *strcpy (char *strDest,const char *strSrc);
int main()
{
    char *s1;
    cin>>s1;
    for(int j=0;j<strlen(s1);j++)
    cout<<s1[银河163网站运行结果有点小错  不知道那错  请指点下巴,结果程序崩溃....求助....。j];
    char*s2=new char[strlen(s1)+1];
    strcpy(s2,s1);
    cout<<s2<<endl;
    system("pause");
    return 0;
}
char *strcpy (char *strDest,const char *strSrc)
{
     int i;
     for(i=0;i<strlen(strSrc);i++)
     strDest[i]=strSrc[i];
     return strDest; 
}
程序崩溃.....银河163网站 6银河163网站 7银河163网站 8银河163网站 9银河163网站 10银河163网站 11求助.....

搜索更多

本文由分享平台发布,转载请注明来源:银河163网站运行结果有点小错  不知道那错  请