我试图找出函数inperson
和outperson
在函数get
没有原型的情况下无效的原因。 Outperson
和inperson
在没有原型的情况下工作,如果我把它们放在主函数之前但不是之后。 get-function在没有原型之前和之后都可以工作。为什么呢?
#include <stdio.h>
struct person {
char name[100];
int age;
};
#define NPERSON 1
int main()
{
//struct person inperson(void);
//void outperson(struct person p);
struct person p[NPERSON];
int i, oldest;
for(i = 0; i < NPERSON; i++) {
p[i] = inperson();
}
oldest = 0;
for(i = 0; i < NPERSON; i++) {
if(p[i].age > p[oldest].age) {
oldest = i;
}
}
outperson(p[oldest]);
get();
return 0;
}
int get()
{
printf("works");
}
struct person inperson(void)
{
struct person p;
scanf("%s %d", p.name, &p.age);
return p;
}
void outperson(struct person p)
{
printf("Person %s, %d years, is oldest\n", p.name, p.age);
}