2 leonisum leonisum 于 2014.11.16 13:35 提问

用VS08来使用C语言发生的错误,请各位高手帮忙
231

#include
#define N 3
struct stu
{
int num;
char name[20];
int score[4];
}
void main( )
{
int i,k;
struct stu s[N];
for(i=0;i<N;i++)
{
scanf("%d%s%d%d%d",&(s[i].num),s[i].name,&(s[i].score[0]),&(s[i].score[1]),&(s[i}.score[2]));
}
printf("%d",s[1].num);
}
运行出来的结果是-858993460,程序中哪里有问题?

4个回答

Frank184
Frank184   2014.11.16 17:55

struct后面大括号该有分号吧

max_min_
max_min_   Rxr 2014.11.18 10:57

能正常编译么?输入的数据呢?
scanf("%d %s %d %d %d",...) 这里最好这样写吧,不然不好区分那个数属于那个的,
在输入的时候各个数也空格隔开:100 xiaoming 90 90 80 85

lx624909677
lx624909677   Ds   Rxr 2014.11.18 14:52

你的代码肯定是编译不过的,尽然还能有结果!!!改成下面这样!!!
#include
#define N 3
struct stu
{
int num;
char name[20];
int score;
};
void main( )
{
int i,k;
struct stu s[N];
for(i=0;i<N;i++)
{
scanf("%d",&s[i].num);
getchar();
scanf("%s",s[i].name);
scanf("%d",&s[i].score);
}
printf("%d",s[1].num);
}

lx624909677
lx624909677   Ds   Rxr 2014.11.18 14:53

开头的include 你自己加上,这里不直到为啥不显示。。。

Csdn user default icon
上传中...
上传图片
插入图片