#include<stdio.h>
#define N 2
void main()
{struct employee
{int num;
int swage;
char name[20];
}emp[N];
int i;
int sum=0;
float aver=0;
for(i=0;i<N;i++)
{printf("num:");
scanf("%d",&emp[i].num);
printf("swage:");
scanf("%d",&emp[i].swage);
printf("name:");
gets(emp[i].name);
}
int max;
max=emp[0].swage;
for(i=0;i<N;i++)
if(emp[i].swage>max) max=emp[i].swage;
printf("%s\t%d\t%s\t",emp[i].name,emp[i].swage);}
&(emp[i].num)试一下
在Dev-C++里面,只报一个main函数必须为int类型的错误,改为int main就可以了。另外如果你是要求输出最大的swage对应的结构信息,可能有一些逻辑错误,
我修改了一下,如下:
#include<stdio.h>
#define N 2
int main()
{
struct employee
{ int num;
int swage;
char name[20];
}
emp[N];
int i;
int sum=0;
float aver=0;
for(i=0;i<N;i++)
{
printf("num:");
scanf("%d",&emp[i].num);
printf("swage:");
scanf("%d",&emp[i].swage);
while(getchar()!='\n')
continue;
printf("name:");
gets(emp[i].name);
}
int max;
max=emp[0].swage;
int index;
for(i=0;i<N;i++)
if(emp[i].swage>max) {
max=emp[i].swage;
index = i;
}
printf("%s\t%d\t%d\t",emp[index].name,emp[index].num,emp[index].swage);
return 0;
}