回 帖 发 新 帖 刷新版面

主题:数据结构串的问题

我今天刚看了串的内容,
写了个小程序,
想初始化2个串,编译通过了;
为什么运行到初始化第2个串的时候就提前出现print any key to continue???
#include <iostream>
using namespace std;
typedef struct {
    char *ch;
    int length;
}hstring;

int main()

int i,m,b;
hstring *str3;
cout<<"please enter the length of str3:\n";
cin>>m;
str3=new hstring[m];
str3->length=m;
for(i=0;i<m;i++)
cin>>str3->ch[i];
hstring *str4;
cout<<"please enter the length of str4:\n";
cin>>b;
str4=new hstring[b];
str4->length=b;
for(i=0;i<b;i++)
cin>>str4->ch[i];
return 0;
}

回复列表 (共1个回复)

沙发

你new了m个hstring,但是没有给hstring里的ch分配空间。
而实际上你也不是打算这么用的。
根据题意,实际上你是想new一个hstring,然后new出m个字节空间给ch吧:)

我来回复

您尚未登录,请登录后再回复。点此登录或注册