有些功能没有原型就无法工作,其他功能呢?

时间:2014-11-05 08:12:14

标签: c function prototype

我试图找出函数inpersonoutperson在函数get没有原型的情况下无效的原因。 Outpersoninperson在没有原型的情况下工作,如果我把它们放在主函数之前但不是之后。 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);
}

0 个答案:

没有答案