问题描述
- 用VS08来使用C语言发生的错误,请各位高手帮忙
-
#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,程序中哪里有问题?
解决方案
struct后面大括号该有分号吧
解决方案二:
能正常编译么?输入的数据呢?
scanf("%d %s %d %d %d",...) 这里最好这样写吧,不然不好区分那个数属于那个的,
在输入的时候各个数也空格隔开:100 xiaoming 90 90 80 85
解决方案三:
你的代码肯定是编译不过的,尽然还能有结果!!!改成下面这样!!!
#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);
}
解决方案四:
开头的include 你自己加上,这里不直到为啥不显示。。。
时间: 2024-10-02 15:36:18