日期: 2022-09-21 03:15:05 浏览数:4

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
贵阳做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式

int main(int argc ,char*argv[])
{
int a=2,b=3;
printf("输出结果为: %d ",sum(a,b));
return 0;
}
int sum(int a,int b)
{
return a+b ;
}
甚至函数声明可以写成:
int sum(int ,int );
编译器只要检查到函数返回类型,名称和参数类型正确即可。
喵帕斯
喵帕斯
115***2452@qq.com
5年前 (2018-01-23)
流浪天涯
223***9389@qq.com
28
函数实现了代码的重用,大大简化缩短了程序员的工作量,更使得程序的可读性大大提高,函数的递归调用更是一种简化程序代码的方法;递归调用其实机是函数自己调用自己。
下面的实例是一个求1+2+3.....+n的递归实例:
#include <stdio.h> //导如输入输出头文件
int sum(int n);//声明函数
int main(){
//主函数
int a=sum(4);
printf("%d",a);
return 0;
}
int sum(int n){
//求和函数实现
//如果n为1,无需求和,直接返回1
if(n==1){
return 1;
}
//如果n大于1,就返回n加上1+2+3.....+n-1的和
return n+sum(n-1);
}
贵阳做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
值传递是单向传递,传递过程中只是改变了形参的数值,并未改变实参的数值,因此并不会改变a和b原有的值。
2. 指针传递
#include <stdio.h>void swap(int *x, int *y);void swap(int *x, int *y){ int temp; temp = *x; *x = *y; *y = temp;}int main( int argc, char *argv[] ){ int a = 5; int b = 10; swap(&a, &b); //调用交换函数 printf("交换结果为 a = %d, b = %d ",a,b); return 0;}指针传递过程中,将a和b的地址分别传递给了x和y,在函数体内部改变了a、b所在地址的值,即交换了a、b的数值。
3. 引用传递
#include <stdio.h>void swap(int &x, int &y);void swap(int &x, int &y){ int temp; temp = x; x = y; y = temp;}int main( int argc, char *argv[] ){ int a = 5; int b = 10; swap(a, b); //调用交换函数 printf("交换结果为 a = %d, b = %d ",a,b); return 0;}引用传递中,在调用swap(a, b);时函数会用a、b分别代替x、y,即x、y分别引用了a、b变量,这样函数体中实际参与运算的其实就是实参a、b本身,因此也能达到交换数值的目的。
注:严格来说,C语言中是没有引用传递,这是C++中语言特性,因此在.c文件中使用引用传递会导致程序编译出错。
BeanShell
286***384@qq.com
喵帕斯
115***2452@qq.com
函数声明和函数原型的参数名可以不一样,编译器他想知道的是函数参数的类型,与函数参数的名字没有关系,eg:
#