...error C2059: syntax error : '<' Error executing cl.exe...

发布网友 发布时间:2024-12-16 21:06

我来回答

3个回答

热心网友 时间:2024-12-18 15:06

aver=average(stu[N].score);
这行代码有问题,函数参数是整型数组,你传的不是,把函数改了,如下
#include "stdio.h"
#define N 3
struct student
{
int num;
char name[10];
int score;
}stu[N];

void output(struct student stu[])
{int i;
printf("\n学号:\t\t姓名:\t\t成绩:\n");
for(i=0;i<3;i++)
{
printf("%-16d%-16s%5d",stu[i].num,stu[i].name,stu[i].score);
printf("\n");
}
}

int average(struct student a[])
{int i,aver,sum=a[0].score;
for(i=1;i<N;i++)
sum=sum+a[i].score;
aver=sum/N;
return(aver);
}

void main()
{
int aver,i;
for(i=0;i<3;i++)
scanf("%d,%s,%d",&stu[i].num,&stu[i].name,&stu[i].score);
aver=average(stu);
output(stu);
}

热心网友 时间:2024-12-18 15:11

// 这样也许可以
int average(struct student stu[])
{int i,aver,sum=stu[0].score;
for(i=1;i<N;i++)
sum=sum+stu[i].score;
aver=sum/N;
return(aver);
}

void main()
{
int aver,i;
for(i=0;i<3;i++)
scanf("%d,%s,%d",&stu[i].num,stu[i].name,&stu[i].score);//stu[i].name
aver=average(stu);
output(stu);
}

热心网友 时间:2024-12-18 15:06

#include <stdio.h>
#include <string.h>
#define N 3
struct student
{
int num;
char name[20];
int score;
}stu[N];

void output(struct student stu[])
{int i;
printf("\n学号:\t\t姓名:\t\t成绩:\n");
for(i=0;i<3;i++)
{
printf("%-16d%-16s%5d",stu[i].num,stu[i].name,stu[i].score);
printf("\n");
}
}

int average(void)
{
int i,aver,sum=0;
for(i=0;i<N;i++)
sum=sum+stu[i].score;
aver=sum/N;
return(aver);
}

int main()
{
int aver,i;
for(i=0;i<3;i++)
scanf("%d,%s,%d",&(stu[i].num),stu[i].name,&(stu[i].score));
aver=average();
output(stu);
return 0;
}

错误:
1 scanf("%d,%s,%d",&stu[i].num,&stu[i].name,&stu[i].score);
去掉中间name的地址符合,像我这样给前后两个加个括号
2 aver=average(stu[N].score);
stu[N]越界了,你没必要传参数,直接使用结构体里的score属性就行了,你这样传也是类型不匹配的,score在结构体数组stu中只是一个属性而不是一个数组,你这样只能给那个函数传一个score值,要得到里面的三个值必须用到for循环才能得出
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com

热门图文

Top