注册 登录
编程论坛 C++教室

这个怎么运行崩溃!!!

a698186 发布于 2010-10-26 20:05, 441 次点击
#include<iostream>
using namespace std;
void strcopy(char *p1,char *p2);
void main()
{
    char p1[]={"Tomato Studio"};
    char *p2;
    int size=sizeof(p1)/sizeof(int);
    cout<<"p1内容为:"<<p1;
    p2=new char[size];
    strcopy(p1,p2);
    cout<<"p2内容为:"<<p2<<endl;
    delete [] p2;
}
void strcopy(char *p1,char *p2)
{
    for(char *temp=p1;*temp!='\0';temp++)
    {
        *p2=*temp;
        p2++;
    }
}
3 回复
#2
a6981862010-10-26 20:35
怎么没有人哦!!!
#3
m21wo2010-10-26 20:38
程序代码:
#include<iostream>
using namespace std;
void strcopy(char *p1,char *p2);
void main()
{
    char p1[]={"Tomato Studio"};
    char *p2;
    int size=sizeof(p1)/sizeof(char);  // 计算p1的长度 应该除以字符的字节啊!或者sizeof(p1)/sizeof(*p1)
    cout<<"p1内容为:"<<p1<<endl;
    p2=new char[size];
    strcopy(p1,p2);
    cout<<"p2内容为:"<<p2<<endl;
    delete [] p2;
}
void strcopy(char *p1,char *p2)
{
    for(char *temp=p1;*temp!='\0';temp++)
    {
        *p2=*temp;
        p2++;
    }
    *p2='\0';              // 一定要加这,这才是字符串!!否则cout输出的时候终止不了!
}

#4
brightboy2010-10-28 23:21
*temp!='\0'条件是这个........它必须是一直运行了、、、、楼上给出解决方法了已经,,挺好的
1