请教,为何我没有输入数据,程序就自动结束了,而且返回值为乱码。
你这相当于调用Car的默认构造函数,初始化的第一个参数是给strname赋值,所以这里的0相当于空指针,空指针赋值给string类型的strname导致崩溃,如果你把int nseats;放到string strname的前面,就不会崩溃,因为0相当于初始化给了nseats
崩溃了Car x;就行了,不要赋值个0啊。
不要那样写,Car x;x.nseat = 0;
因为你结构体里面有string类型 你这样初始化有问题