C语言中的自定义函数
C语言中可以使用系统函数也可以使用自己的函数,就是自定义函数
自定义函数分为四种
第一种:无参无返回值的
函数的声明
void sayH();
函数的实现
void sayH(){
printf("你好");
}
第二种:有参数无返回值
函数的声明:
void pxsbx(int c,int k);
函数的实现:
void pxsbxx(int c,int k){
int i,j;
for (i=; i<c; i++) {
for (j=; j<=i; j++) {
printf(" ");
}
for (j=; j<k; j++) {
if (j==||j==k-||i==||i==c-) {
printf("*");
}else{
printf(" ");
}
}
printf("\n");
}
}
函数的调用
int c,k;
printf("请输入长:");
scanf("%d",&c);
printf("请输入宽:");
scanf("%d",&k);
pxsbxx(c, k);
运行结果

3,有参数有返回值
声明:
int add1(int num1,int num2,int num3);
实现
int add1(int num1,int num2,int num3){
int sum=num1+num2+num3;
return sum;
}
调用
int num1,num2,num3,sum;
scanf("%d%d%d",&num1,&num2,&num3);
sum=add1(num1, num2,num3);
printf("%d",sum);
效果

第四种:有参数无返回值
声明
void add(int num1,int num2);
实现
void add(int num1,int num2)
{ int sum=num1+num2;
printf("%d\n",sum);
}
二,递归函数(两个简易的递归调用)
1,阶乘
函数的声明
int MyFun(int num);
函数的实现
int MyFun(int num){
// 普通函数
// int sum1=1;
// for (int i=1; i<=num; i++) {
// sum1*=i;
// }
// return sum1;
// 递归调用
if (num==||num==) {
return ;
}else {
return num*MyFun(num-);
}
}
调用
printf("sum=%d\n",MyFun(6));
运行效果

2,菲波那切数列数列
函数的声明
int fbsnq(int num);
函数的实现
int fbsnq(int num){
// 递归
if(num==||num==){
return ;
}
return fbsnq(num-)+fbsnq(num-);
//普通
// int n1=1,n2=1,temp=0;
// if (num==1||num==2) {
// return 1;
// }
// int i=2;
// for(;i<num;i++){
// temp=n1+n2;
// n1=n2;
// n2=temp;
// }
// return temp;
}
函数的调用
for (int i=; i<=; i++) {
if ((i-)%==) {
printf("\n");
}
printf("%10d", fbsnq(i));
}
printf("\n\n");
运行结果

C语言中的自定义函数的更多相关文章
- Entity Framework 6 Recipes 2nd Edition(10-5)译 -> 在存储模型中使用自定义函数
10-5. 在存储模型中使用自定义函数 问题 想在模型中使用自定义函数,而不是存储过程. 解决方案 假设我们数据库里有成员(members)和他们已经发送的信息(messages) 关系数据表,如Fi ...
- 如何在C语言中调用Swift函数
在Apple官方的<Using Swift with Cocoa and Objectgive-C>一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中 ...
- C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏
C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...
- C语言中返回字符串函数的四种实现方法
转自C语言中返回字符串函数的四种实现方法 其实就是要返回一个有效的指针,尾部变量退出后就无效了. 有四种方式: 1.使用堆空间,返回申请的堆地址,注意释放 2.函数参数传递指针,返回该指针 3.返回函 ...
- C语言中关于scanf函数的用法
scanf()函数的控制串 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化 ...
- 【转载】 Sqlserver中查看自定义函数被哪些对象引用
Sqlserver数据库中支持自定义函数,包含表值函数和标量值函数,表值函数一般返回多个数据行即数据集,而标量值函数一般返回一个值,在数据库的存储过程中可调用自定义函数,也可在该自定义函数中调用另一个 ...
- SparkSQL中的自定义函数UDF
在Spark中,也支持Hive中的自定义函数.自定义函数大致可以分为三种: UDF(User-Defined-Function),即最基本的自定义函数,类似to_char,to_date等 UDAF( ...
- C语言中文件定位函数总结
C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...
- C语言中变量和函数的作用域和链接属性
C语言中变量和函数的作用域和链接属性 作用域 代码块作用域: 代码块指的是使用"{}"包围起来的部分. 在代码块中定义的变量,代码块之外是不能访问的. 代码块嵌套之后的变量作用域, ...
随机推荐
- Angular开发Tips
1.在使用$routeProvider的时候,需要让模块依赖ngRoute,否则会提示找不到服务,示例: angular.module('module1', ['ngRoute']) .config( ...
- 编译Libgdiplus遇到的问题
https://github.com/mono/libgdiplus/releases 下载最新版本 解压并执行 ./autogen.sh,在执行此步时遇到如下问题,并帖出解决办法 问题:执行 ...
- 探秘空值位图掩码(NULL bitmap mask)
这篇文章我想谈下空值位图掩码(NULL bitmap mask) ,并揭开它的神秘面纱.空值位图掩码是在存储引擎层为列是否存储NULL值进行编码.它是一个简单的位图掩码,如果值是1的话,表示这列有NU ...
- XML to Entity
public static T GetEntityByXml<T>(string xml, string rootNode=null) where T : new() { if (stri ...
- 【第〇课】用更好的IDE开发
推荐的IDE IntelliJ IDEA JetBrains是一家捷克的软件开发公司,这家公司做出了很多的优秀的IDE,有写python的.php的.web前端的……IDEA就是其中一款非常优秀的ja ...
- 存储过程分页 Ado.Net分页 EF分页 满足90%以上
存储过程分页: create proc PR_PagerDataByTop @pageIndex int, @pageSize int, @count int out as select top(@p ...
- sprint 1 2 3 贡献分
本学期我们做的项目是商品和员工管理系统(茗仕茶业管理平台) 团队Github地址:https://github.com/LinWenFeng团队博客地址:http://www.cnblogs.com/ ...
- Import 元素 (MSBuild)
Import 元素 (MSBuild) Visual Studio 2013 .NET Framework 4 .NET Framework 3 ...
- 因用了NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误的解决方法
今天遇到一个问题,就是“NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误”,百度后发现了一个解决方法,跟大家分享下: NeatUploa ...
- js获取浏览器当前窗口的高度长度
js获取浏览器可见区域(不包括标题栏.地址栏.收藏夹栏状态栏等额外区域,仅为页面呈现区域)的高度和宽度宽度:document.documentElement.clientWidth高度:documen ...