#include <stdio.h>
#define M 1024
struct student
{
int id;
char name[20];
int score;
};
main()
{
int i,n;
struct student s[M];
printf("input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("input s[%d].id:",i);
scanf("%d",&s[i].id);
printf("input s[%s].name:",i);
scanf("%s",s[i].name);
printf("input s[%d].score:",i);
scanf("%d",&s[i].score);
}
for(i=0;i<n;i++)
printf("%d\t%s\t%d\n",s[i].id,s[i].name,s[i].score);
}
修改如下,供参考:
#include <stdio.h>
#define M 1024
struct student
{
int id;
char name[20];
int score;
};
void print(struct student *p,int n)
{
int i;
for(i=0;i<n;i++)
printf("%d\t%s\t%d\n",p[i].id,p[i].name,p[i].score);
}
int main()
{
int i,n;
struct student s[M];
printf("input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("input s[%d].id:",i);
scanf("%d",&s[i].id);
printf("input s[%d].name:",i); //printf("input s[%s].name:",i);
scanf("%s",s[i].name);
printf("input s[%d].score:",i);
scanf("%d",&s[i].score);
}
print(s,n);//for(i=0;i<n;i++)输出改为函数
// printf("%d\t%s\t%d\n",s[i].id,s[i].name,s[i].score);
return 0;
}