C语言 复习函数
什么是函数呢?
首先函数是在完成特定任务的程序代码中,拥有自己独立的单元。
举个例子
“你可以拿本书吗?”
”你可以拿本语文书吗?“
“你可以拿苹果吗?”。。。。。
如果要是放到程序里面估计要重复很多一样的动作,所以函数的第一个优点就是:可以省去重复代码的编写
将“你可以拿”作为它的函数,接下来拿的东西比如:书、语文书、苹果。。。这些都是可以修改的完善的,
没有必要在主函数中来回乱改,一不小心改错了地方也是很麻烦的。所以函数的第二个优点:在某种功能在程序中只修改和完善某个单元
接下来看一下代码
#define NAME“GIATHINK”
#define classroom “101 ”
#define age 14
#derine num void dars(void);
int void main(){
dars();
pirntf("%s\n",NAME);
printf("%s\n",classroom);
printf("%d\n",age);
dars();
}
void dars(void){
int i;
for(i=;i<num;i++)
putchar('*');
putchar('\n');
}
运行结果:

这里引用了一个函数dars,通过函数dars ,其中dars在主函数main中一共出现了三次,第一次是声明函数dars, 第二次和三次分别对该函数进行了调用putchar(''*')。
在自定义函数中,如果void dars()没有任何参数那么就可以放入默认的void 类型,在很早之前c语言函数大多都是Int类型的,c99标准不在支持函数Interesting类型的默认设置,
好了,接下来就将咱们那个栗子做完


再来看一下函数里面老生杂谈的递归吧
#include<stdio.h>
void up_down(int);
int main(void){ } void up_down(int a){
printf("Level %d: location %p \n",n,&n);
if(n<)
up_down(n+);
printf("LEVEL %d: location %p\n",n,&n);
}

首先mian() 使用了参数调用函数up_down()于是up_down 中形式参数n为1,所以打印出来Leve1 ,接着由于n<5,所以 up_dwon()的参数+1 ,数值2条用了up_down 使得第二级被赋值2输出Leve2 接着依次调用3,4,5。
当n=5,n+1<5为假时,不满足If语句的条件,所以不在继续调用up_down ,接着输出LEVEL5,当5调用结束时,控制返回给该调用函数,也就是4,3,2,1就会有接下来的这些一直到返回到1并执行后续代码。
总的来说递归条用非常类似一个循环语句,是实际上,递归有时候可以被用来代替循环,反之也是可以!
C语言 复习函数的更多相关文章
- C语言复习---零散补充
一:double和float使用scanf获取数据 printf输出float和double都可以用%f,double还可以用%lf. 2 scanf输入float用%f,double输入用%lf,不 ...
- C语言复习20170728
C语言复习20170728 键盘输入和屏幕输出 字符常量:把字符放在一对单引号内,适用于多数可打印字符. 转义字符: 以反斜线()开头,也是放在一对单引号内,适用于控制字符. .\t,是水平制表符,相 ...
- C语言复习-字符串与指针
C语言复习-字符串与指针 例一: [字符串处理 去除C代码中的注释] C/C++代码中有两种注释,/* */和//.编译器编译预处理时会先移除注释.就是把/*和*/之间的部分去掉,把//以及之后的部分 ...
- C语言pow函数编写
C语言pow函数编写 #include<stdio.h> double chaoba(double f,double q); //声明自定义函数 void main(void) { dou ...
- C语言-自定义函数
C语言自定义函数 --1-- 自定义函数定义 1.1 无参无返回值函数 1.2 无参有返回值函数 1.3 有参无返回值函数 1.4 有参有返回值函数 --2-- 函数的参数 2.1 形式参数介绍和使用 ...
- C语言printf()函数:格式化输出函数
C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为: int printf( char ...
- C语言的函数
"函数"在英文的翻译是"function",无论在自然科学还是计算机科学都是这个词,而"function"的本意是"功能" ...
- c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)
C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...
- Go语言示例-函数返回多个值
Go语言中函数可以返回多个值,这和其它编程语言有很大的不同.对于有其它语言编程经验的人来说,最大的障碍不是学习这个特性,而是很难想到去使用这个特性. 简单如交换两个数值的例子: package mai ...
随机推荐
- HDU11269 迷宫城堡(强连通分量)
迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- Selenium 4.0 Alpha更新日志
早在2018年8月,整个测试自动化社区就发生了一件重大新闻:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Selenium 4的发布日期和一些重要更新. ...
- 虚拟链路(virtual-link)
第四部分,虚拟链路配置.我们都知道,在ospf多区域中,所有与主干区域(ospf0)相连接的其他区域可以相互学系路由信息,但是,如果是非主干区域和非主干区域相连,就不能相互学习路由信息,这时候,我们可 ...
- JMeter之SteppingShape
1.背景 其实是这样的,最近包括以前都有同事问过宝路一个问题:JMeter测试计划中涉及到梯度压测时,整个测试计划执行完毕,聚合报告看的是整体的结果啊!并不能直观看到每个梯度下的吞吐量的值(虽然可以通 ...
- vue 双语言切换中,data内翻译文字不正常切换的解决方案
背景 有这么一个登录页面,相关功能如下: 支持双语言,点击切换语言 表单内部有一个自定义的select,里面option的label.value都是的名字由外部提供:其中预设的option的label ...
- Linux搭建NFS服务
一.NFS服务简单介绍 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中, ...
- .NET Core环境变量和用户秘钥实现开发中的数据安全
目录 一.注入 IConfiguration 二.从配置文件 appsettings.json 中获取环境变量 三.从项目中获取环境变量 四.用户秘钥设置环境变量 前言:有很多人将秘钥,数据库连接字符 ...
- 《Java基础知识》Java继承的概念和实现
继承时类和类之间的关系,是一个很简单很直观的概念,与显示生活中的继承(例如儿子继承了父亲财产)类似. 继承可以理解为一个类从另一个类中获取方法和属性的过程.如果类B继承于类A,那么类B就拥有类A的属性 ...
- 优先队列与TopK
一.简介 前文介绍了<最大堆>的实现,本章节在最大堆的基础上实现一个简单的优先队列.优先队列的实现本身没什么难度,所以本文我们从优先队列的场景出发介绍topK问题. 后面会持续更新数据结构 ...
- 如何在云服务器上自动运行.py文件
如果你在云服务器上运行的目的是保持一直运行,那就继续往下看吧. 有很多种方法,我这里说的是在linux上操作的一种. 利用screen会话分离. 因为在Screen环境下,所有的会话都独立的运行,并拥 ...