差不多先生air 发表于 2019-1-9 11:32:34

关于调用函数

当我把这个调用函数定义放在外面的时候就报错,放在里面的时候就是对的,我看小甲鱼老师放在外面也是对的呀!求解!!
部分程序1:
#include <stdio.h>
void main()
int square(int p);
long factorial(int q);

{
        int i;
        long s=0;
        for(i=2;i<3;i++)
        {
                s=s+square(i);
        }
        printf("%ld\n",s);
}
部分程序2:
#include <stdio.h>
void main()
{
        int square(int p);
        long factorial(int q);
        int i;
        long s=0;
        for(i=2;i<3;i++)
        {
                s=s+square(i);
        }
        printf("%ld\n",s);
}

mlgbdbsb 发表于 2019-1-9 13:36:13

#include <stdio.h>
int square(int p);
long factorial(int q);
void main()
{
      int i;
      long s=0;
      for(i=2;i<3;i++)
      {
                s=s+square(i);
      }
      printf("%ld\n",s);
}
{:10_272:}

jackz007 发表于 2019-1-9 15:34:15

本帖最后由 jackz007 于 2019-1-9 15:40 编辑

    “部分程序1” 中 2 个外部函数声明的位置是非法的。

void main()
int square(int p);       //此处不允许声明外部函数
long factorial(int q);   //此处不允许声明外部函数
{
}

这样才是对的:

int square(int p);      //外部函数通常在此处声明
long factorial(int q);    //外部函数通常在此处声明
void main()
{
}

当然,“部分文件 2 ” 的声明方法也是正确的。
页: [1]
查看完整版本: 关于调用函数