#include
struct student
{
int num;
char name[10];
float score[3];
}students[5],*p;
int main()
{
void print(struct student *p);
int I;
for(p=students;p
{
scanf("%d%s",&p->num,p->name);
for(i=0;i scanf("%f",&up->score[i]);
}
print(students);
return 0;
}
void print (struct student *p)
{
int I;
for(;p
{
printf("%d%s",p->num,p->name);
for(i=0;i printf("%f",p->score[i];
}
}
void print(struct student *p)这句一直出现警告。个人感觉没有什么问题。
警告语句:
warning:'struct student' declared inside
parameter list
warning:its scope is only this definition or declaration ,which is probably not what
实在是不懂为什么,求大大解释
你有好多小错误:
1.少括号
2.int i而不是int I
3.将声明对应的语句放在前部,以保证该声明在使用前已经被找到。
改成这样:
#include<stdio.h>
struct student
{
int num;
char name[10];
float score[3];
}students[5], *p;
void print(struct student *p);
int main()
{
int i;
for (p = students; p<p + 5; p++)
{
scanf("%d%s", &p->num, p->name);
for (i = 0; i<3; i++)
scanf("%f", &p->score[i]);
}
print(students);
return 0;
}
void print(struct student *p)
{
int i;
for (; p<p + 5; p++)
{
printf("%d%s", p->num, p->name);
for (i = 0; i<3; i++)
printf("%f", p->score[i]);
}
}
stdio.h 漏打了 手机码的 请见谅,但机子上只有void那个错误
你这个是函数声明啊,放到main函数外面去。