zoukankan      html  css  js  c++  java
  • C语言 复习函数

    什么是函数呢?

    首先函数是在完成特定任务的程序代码中,拥有自己独立的单元。

    举个例子

    “你可以拿本书吗?”

    ”你可以拿本语文书吗?“

    “你可以拿苹果吗?”。。。。。

    如果要是放到程序里面估计要重复很多一样的动作,所以函数的第一个优点就是:可以省去重复代码的编写

    将“你可以拿”作为它的函数,接下来拿的东西比如:书、语文书、苹果。。。这些都是可以修改的完善的,

    没有必要在主函数中来回乱改,一不小心改错了地方也是很麻烦的。所以函数的第二个优点:在某种功能在程序中只修改和完善某个单元

    接下来看一下代码

    #define NAME“GIATHINK”
    #define classroom “101 ”
    #define  age 14
    #derine num 40
    
    void dars(void);
    int void main(){
     dars();
    pirntf("%s
    ",NAME);
    printf("%s
    ",classroom);
    printf("%d
    ",age);
    dars(); }
    void dars(void){ int i; for(i=0;i<num;i++) putchar('*'); putchar(' '); }

    运行结果:

    这里引用了一个函数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);
    if(n<5)
    up_down(n+1);
    printf("LEVEL %d: location %p
    ",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语言链表基本操作
    硬盘上的一些算法小题目||and今天看了下林锐的书以及gdb调试 及一些变成算法小题目
    MFC入门 002 滚动条Scorllbar 数字控制框 Spin 进度条 Progress
    002 Windows数据类型 字符集
    001 Windows 简介
    MFC入门 001 Edit&Button&List&ComboBox
    iPads和iPones的Media Queries
    响应式网页设计
    chrome developer tool 调试技巧
    返回一个整型数组中最大子数组的和(02)
  • 原文地址:https://www.cnblogs.com/X404/p/12059532.html
Copyright © 2011-2022 走看看