C语言的函数原型(执行顺序问题)

发布时间 2023-03-29 20:33:45作者: 周周周777

以下面一段代码为参考:

像这样把sum()写在上面是因为:

C语言的编译器是从上往下执行代码的,当他看到

sum(1,10);
sum(1,100);
时,要知道sum()是个什么东西,也就是sum()要几个参数,每个参数的类型如何,要返回什么类型
#include <stdio.h>
//注意:void里面不用return

//void返回类型  sum函数名  int begin,int end参数表 
void sum(int begin,int end) //这一行叫函数头,下面大括号里面的叫函数体 
{
    int i;
    int sum=0;
    for(i=begin;i<=end;i++){
        sum+=i;
    }
    printf("%d到%d的和是%d\n",begin,end,sum);    
}

int main()
{     
//算两数间数字的和 
    sum(1,10);
    sum(1,100);
    return 0;
 } 

但是,最好main上面不要罗列太多东西,所以:

void sum(int begin,int end);
这一行的作用就是为了告诉下面的
 sum(1,10);
 sum(1,100);
sum函数的信息,如果没有begin和end也可以,只要能让下面顺序执行的调用sum()的部分明白
sum()要几个参数,每个参数的类型如何,要返回什么类型
#include <stdio.h>

void sum(int begin,int end); //函数声明 
int main()
{      
    sum(1,10);
    sum(1,100);
    return 0;
 } 

void sum(int begin,int end)  //函数定义
{
    int i;
    int sum=0;
    for(i=begin;i<=end;i++){
        sum+=i;
    }
    printf("%d到%d的和是%d\n",begin,end,sum);    
}