重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
创新互联专业提供雅安服务器托管服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买雅安服务器托管服务,并享受7*24小时金牌售后服务。
在C语言中最基础的程序模块就是函数。C语言可由一个主函数(main)和若干个函数组成,学会调用函数也能使程序更简洁,可以事先编好一些常用的函数来实现不同的功能,例如用sin函数实现一个数的正弦时,把它保存在函数库中,需要用时直接在程序中写上sin(x)就可以直接调用系统函数库中的函数代码,执行这个代码就可以得到预期的答案,反之我们也能在程序中自定义函数,用于实现你想要的功能。
提示:以下是本篇文章正文内容,下面案例可供参考
函数的参数有两种,一种是在自定义函数时后面括号中的变量名称为“形式参数”(行参)或“虚拟参数”,还有一种就是在主调函数中调用一个函数时,函数后名后面括号中的参数称为“实际参数”(简称“实参”),在这里实际参数可以为常量、变量或表达式。在调用函数的过程中,系统会把实参的数值传递给被调用函数的行参
注:自定义函数可以进行嵌套使用,即在自定义函数中也能调用其它自定义函数。
注:行参和实参的数据传递是单向的,只能由实参传递给形参,反之不行。
返回值类型 函数名(参数类型 参数1,参数类型 参数2…参数类型 参数n)
{
执行语句
return 返回值;
}
代码如下
#includeint max(int x, int y)//定义max函数,这个函数有两个参数
{
int z;
z = x >y ? x : y; //将两个数中较大的值赋给z
return (z); //返回z;也就是返回大值,然后带回main函数
}
int main() //在主函数内调用
{
int a, b;
scanf("%d%d", &a, &b); //输入两个数
printf("%d", max(a, b)); //调用自定义函数,也就是将a的值传递给x,将b的值传递给y,最后返回这两个数中的大值以此来输出
}
二、案例
1.输入一个数判断是否为5的倍数要求:从键盘输入一个数,调用函数判断这个数是否为5的倍数。
#includeint div5(int x)//定义div5函数
{int a = 0;//定义一个临时变量用于假设这个数不能被5整除
if (x % 5 == 0)//如果这个数可以被5整除
{a = 1;//当a的值为1时代表可以被5整除
}
if (a == 0)//如果a的值为0则不能被5整除
{printf("不能被整除");
}
else//否则可以被就是可以被5整除
{printf("可以被整除");
}
}
int main()
{int b;
scanf("%d", &b);//输入数
div5(b);//调用函数来判断是否能被5整除
}
2.输入四个整数,找出大值(用函数嵌套调用)#includeint main()
{int a, b, c, d, max;
printf("请输入四个数字以此来判断哪个数大\n");//提示信息
scanf("%d%d%d%d", &a, &b, &c, &d);//输入四个数
max = max4(a, b, c, d);//调用函数找出大值
printf("大值为:%d", max);//最后输出
return 0;
}
int max4(int a, int b, int c, int d)
{int m;
m = max2(a, b);//调用函数先找出a和b之中的大值,将较大的那个存放至m
m = max2(m, c);//再将m和c进行对比找出大值,通过上一行和这一行就能得知a,b,c中的大值
m = max2(m, d);//最后将前三个数中的大值和d进行对比,最终找出四个数中的大值
return m;//返回大值
}
int max2(int a, int b)//此函数的作用是找出两个数中的大值
{if (a >b)
{return a;
}
else
{return b;
}
}
总结例如:以上就是今天要讲的内容,本文仅仅简单介绍了函数调用的使用,重点是理解行参和实参,即:行参和实参的传递是单向的,只能由实参传递给行参,反之不能传递。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧