为什么这段代码编译时没有出错,却运行不了呢?
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
struct student
{
char name[10];
long num;
double score;
};
void sort(struct student stu[],int n)
{
int i,j;
student temp;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(stu[j].num<stu[i].num){
temp=stu[j];
stu[j]=stu[i];
stu[i]=temp;
}
}
int main()
{
int i,n;
struct student stu[n];
cout<<"请输入学生个数n:";
cin>>n;
cout<<"请输入n个学生的信息:";
for(i=0;i<n;i++)
cin>>stu[i].name>>stu[i].num>>stu[i].score;
sort(stu,n);
cout<<"排序后的学生信息为:";
for(i=0;i<n;i++)
cout<<stu[i].name<<" "<<stu[i].num<<" "<<stu[i].score<<endl;
return 0;
}