函数的调用、声明及函数原型

本文详细介绍了C#中函数的调用、声明和函数原型的概念。函数调用允许我们使用已定义的函数,示例中展示了函数嵌套调用的应用。函数声明用于告知编译器函数的存在,而函数原型则包含函数名、返回类型和参数列表,帮助编译器理解函数的使用。通过恰当的函数声明和原型,可以提高代码的可读性和组织性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.函数的调用

二.函数声明

三.函数原型


1.函数的调用

        函数调用,就是使用已经定义好的函数。

C语言中,函数调用有很多方式,如:

//函数作为表达式中的一项出现在表达式中
z = max(x, y);
m = n + max(x, y);
//函数作为一个单独的语句
printf("%d", a);
scanf("%d", &b);
//函数作为调用另一个函数时的实参
printf( "%d", max(x, y) );
total( max(x, y), min(m, n) );

函数的嵌套使用

函数不能嵌套定义,但可以嵌套调用。

例如:计算 sum = 1! + 2! + 3! + ... + (n-1)! + n!

#include <stdio.h>
//求阶乘
long factorial(int n){
int i;
long result=1;
for(i=1; i<=n; i++){
result *= i;
}
return result;
}
// 求累加的和
long sum(long n){
int i;
long result = 0;
for(i=1; i<=n; i++){
//在定义过程中出现嵌套调用
result += factorial(i);
}
return result;
}
int main(){
printf("1!+2!+...+9!+10! = %ld\n", sum(10)); //在调用过程中出现嵌套调用
return 0;
}

运行结果如下:

如果一个函数 A() 在定义或调用过程中出现了对另外一个函数 B() 的调用,那么我们就称 A() 为 主调函数 主函数 ,称 B() 为 被调函数

2.函数声明

所谓 声明,就是告诉编译器我要使用这个函数,现在找不到它的定义不要紧,请不要报错,稍后我会把定义补上。

3.函数原型

函数声明给出了函数名、返回值类型、参数列表(重点是参数类型)等与该函数有关的信息,称为 函数原型。(函数原型的作用是告诉编译器与该函数有关的信息,让编译器知道函数的存在,以及存在的形式,即使函数暂时没有定义,编译器也知道如何使用它。
例如:定义一个函数sum(),计算从m加到n的和,并将sum()的定义放到main()后面。
#include <stdio.h>
//函数声明
int sum(int m, int n); //也可以写作int sum(int, int);
int main(){
int begin = 5, end = 86;
int result = sum(begin, end);
printf("The sum from %d to %d is %d\n", begin, end, result);
return 0;
}
//函数定义
int sum(int m, int n){
int i, sum=0;
for(i=m; i<=n; i++){
sum+=i;
}
return sum;
}

运行结果如下:
 

例: 定义两个函数,计算 1! + 2! + 3! + ... + (n-1)! + n!的和

#include <stdio.h>
// 函数声明部分
long factorial(int n); //也可以写作 long factorial(int);
long sum(long n); //也可以写作 long sum(long);
int main(){
printf("1!+2!+...+9!+10! = %ld\n", sum(10));
return 0;
}
//函数定义部分
//求阶乘
long factorial(int n){
int i;
long result=1;
for(i=1; i<=n; i++){
result *= i;
}
return result;
}
// 求累加的和
long sum(long n){
int i;
long result = 0;
for(i=1; i<=n; i++){
result += factorial(i);
}
return result;
}

运行结果如下:

 对于较短的代码也可以直接将函数定义在前面,不声明,但是这样做不能直接看到主函数,查看起来比较乱,不容易直接看到重要信息,将函数定义放到最后,就是尽量屏蔽不重要的信息,凸显关键的信息。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值