返回信息流就是本应该输入职称、职务、工资后会按照输入的输出,但是运行后职称和职务不按照之前输入的输出。。。IDE是CODEBLOCK,代码如下:
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
class Teacher
{
public:
char zhicheng[100];
Teacher(char *i_zhicheng)
{
strcpy(zhicheng,i_zhicheng);
}
};
class Level
{
public:
char zhiwu[100];
Level(char *i_zhiwu)
{
strcpy(zhiwu,i_zhiwu);
}
};
class Teacher_Level:public Teacher,public Level
{
public:
double gongzi;
Teacher_Level(char *p,char *q,double i_gongzi):Teacher(p),Level(q)
{
gongzi=i_gongzi;
}
void Show()
{
cout<<"职称为:"<<zhicheng[100]<<endl;
cout<<"职务为:"<<zhiwu[100]<<endl;
cout<<"工资为:"<<gongzi<<endl;
}
};
int main()
{
char a[100];
char b[100];
double c;
cout<<"请输入职称。"<<endl;
gets(a);
cout<<"请输入职务。"<<endl;
gets(b);
cout<<"请输入工资。"<<endl;
cin>>c;
Teacher_Level s(a,b,c);
s.Show();
return 0;
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #93610同步于 2016/10/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[问题]想问一下哪里错了??
flgkd
2016/10/3镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
说的对,所以zhicheng[100] 拿到了后来输入的‘x’,100越界,结果内存的关系找到了zhiwu[0]
【 在 xiaobing307 的大作中提到: 】
: cout<<"职称为:"<<zhicheng[100]<<endl;
: zhicheng[100]不要后面的[100]