函数调用

函数调用就是让程序跳转到被调用的函数体处开始执行。C语言的函数调用是调用用户自定义的函数或者标准库函数。

语法:

return_type function_name(dataType input1,dataTypeinput2);

函数调用类型

根据输入参数和返回值,函数调用可以分为以下几类:

  1. 无输入参数,无返回值的函数调用
  2. 有输入参数和无返回值得函数调用
  3. 没有输入参数但有返回值的函数调用
  4. 既有输入参数又有返回值的函数调用

无输入参数,无返回值的函数调用

— return_type : void
— input1,input2 : void
语法:
function_name();

例程:通过函数调用实现两个无符号整数相加

#include<stdio.h>
 
void addition(void); /*函数原型声明*/
 
int main()
{
    addition();  /*函数调用*/
    return 0;
} 
 
void addition()  /*函数定义 */
{
    unsigned int num1;
    unsigned int num2;
    unsigned int sum;

    printf("\nEnter Num1 :"); 
    scanf("%d",&num1);
    printf("\nEnter Num2 :");
    scanf("%d",&num1);

    sum=num1+num2;
    printf("sum=%u",sum);
}

有输入参数和无返回值得函数调用

return_type : void
input1, input2 : 变量或者常量
语法:
function_name(input1,input2,…..inputn);

例程:通过函数调用实现两个无符号整数相加

#include<stdio.h>
 
void addition(unsigned int n1,unsigned int n2); /*函数原型声明*/
 
int main()
{
    addition(10,20);  /*函数调用*/
    return 0;
} 
 
void addition(unsigned int n1,unsigned int n2)  /*函数定义 */
{
    unsigned int sum;
    
    sum=n1+n2;
    printf("sum=%u",sum);
}

没有输入参数但有返回值的函数调用

return_type : 数据类型
input1, input2 : void
语法:
result=function_name();

例程:通过函数调用实现两个无符号整数相加

#include<stdio.h>
 
unsigned int addition(void); /*函数原型声明*/
 
int main()
{
    unsigned int result;
    result = addition();  /*函数调用*/
    printf("sum=%u",result);
    return 0;
} 
 
unsigned int addition(void)  /*函数定义 */
{
    unsigned int num1;
    unsigned int num2;
    unsigned int sum;
    
    printf("\nEnter Num1 :"); 
    scanf("%d",&num1);
    printf("\nEnter Num2 :");
    scanf("%d",&num1);

    sum=num1+num2;
    
    return sum;
}

既有输入参数又有返回值的函数调用

return_type : 数据类型
input1, input2 : 变量或者常量
语法:
result=function_name(input1,input2,…..inputn);

例程:通过函数调用实现两个无符号整数相加

#include<stdio.h>
 
unsigned int addition(unsigned int n1,unsigned int n2); /*函数原型声明*/
 
int main()
{
    unsigned int result;
    result = addition(10,20);  /*函数调用*/
    printf("sum=%u",result);
    return 0;
} 
 
unsigned int addition(unsigned int n1,unsigned int n2)  /*函数定义 */
{
    unsigned int sum;
    
    sum=n1+n2;
    
    return sum;
}
下一节