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

看一下这个程序

lionmusicyj 发布于 2008-09-28 00:43, 596 次点击
写的一个简单的用结构体的程序,目的是输入几个数据然后依次输出,运行的时候输入可以,但是要输出输入的数据的时候却会有个 系统丢失 错误,小弟想很久想不通,忘高手指点一下~!
#include <iostream>
#include <string>
using namespace std;
struct student
{
    int num;
    string name;      
};
int i=1;
int main()
{
   student stu[3];
   void in_put(student stu[]);
   in_put(stu);
   system("pause");
   return 0;
}
void in_put(student stu[])
{
   
   for(i=1;i<4;i++)          //输入数据,刚刚又试了一下,好象是输入数据后按下回车就会有系统错误了~!
   {
    cin>>stu[i].num;
    cin>>stu[i].name;
   };
   for(i=1;i<4;i++)          //输出数据

   {
    cout<<stu[i].num;
    cout<<stu[i].name;
   };
}
6 回复
#2
rivulettornado2008-09-28 07:05
回复 1# lionmusicyj 的帖子
for(i=1;i<4;i++)
C语言的下标是从0开始的,对于本程序中,就是应该是从0-2,不是从1-3.
#3
chaming3212008-09-28 09:31
回复
你也可以把student stu[3];改成student stu[4];
for后面的   };
去掉
#4
ml2325282008-09-28 09:40
下标越界
改为 for(i=0;i<3;i++)
#5
hamatlfsj2008-09-28 15:53
#include <iostream>
#include <string>
using namespace std;
struct student
{
    int num;
    string name;      
};
int i;
int main()
{
   student stu[3];
   void in_put(student stu[]);
   in_put(stu);
   system("pause");
   return 0;
}
void in_put(student stu[])
{
   
   for(i=0;i<3;i++)          //输入数据,刚刚又试了一下,好象是输入数据后按下回车就会有系统错误了~!
   {

    cin>>stu[i].num;

    cin>>stu[i].name;

   };
   for(i=0;i<3;i++)          //输出数据

   {

    cout<<stu[i].num<<endl;

    cout<<stu[i].name<<endl;
   };
}
#6
lionmusicyj2008-09-29 01:53
谢谢哈~!
#7
henainio65171352008-09-29 09:15
#include <iostream>
#include <string>
using namespace std;
struct student
{
    int num;
    string name;      
};
int i=1;
int main()
{
   student stu[3];
   void in_put(student stu[]);
   in_put(stu);
   system("pause");
   return 0;
}
void in_put(student stu[])
{
   
   for(i=0;i<3;i++)          //输入数据,刚刚又试了一下,好象是输入数据后按下回车就会有系统错误了~!
   {
    cin>>stu[i].num;
    cin>>stu[i].name;
   }
   for(i=0;i<3;i++)          //输出数据

   {
    cout<<stu[i].num;
    cout<<stu[i].name;
   }
}
1