C语言 函数

水深无声 2024-04-06 11:37 121阅读 0赞

函数

一、函数的调用

   1.传值调用: 函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。在函数被调用时,实参传给形参其实形参就是实参的一份临时拷贝,改变形参,不能改变实参。

   传址调用: 传址调用是把函数外部创建的便量的内存地址传递给函数的一种调用函数的形式。这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数外部可以直接操作函数外部的变量。

当创建一个函数不写返回类型时,C语言默认的返回类型是int型。

二、函数的嵌套调用和链式访问

  1. 链式访问 printf("%d",strlen("abc"));
  2. //打印出来为 3
  3. printf("%d",printf("%d",printf("%d",43)));
  4. //答应出来为 43 2 1

   解释:

1.strlen是计算字符串长度的。
2.

  1. printf("%d",printf("%d",printf("%d",43)));
  2. //第一步打印出来43
  3. printf("%d",printf("%d",43));
  4. //第二步打印出来2
  5. //因为43占两个位置 所以打印出来的为2
  6. printf("%d",2);
  7. //第三步打印出来1
  8. //因为2占一个位置 所以打印出来的为1

三、函数递归

什么是递归?

   程序调用自身的编程技巧称为递归。

   递归做为一种算法在程序设计中语言中广泛使用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转换为一个原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大地减少了程序地代码量。

递归的主要思考方式是什么?

   把大事化小

   存在限制条件,当满足这个限制条件,递归便不在继续。

  每次递归调用之后越来越接近这个限制条件。

例题:
打印1个数字的每一位:输入1234,打印1 2 3 4

思想:

  1. 1234 打印4 3 2 1 很容易
  2. 1234%10=4
  3. 123%10=3
  4. 12%10=2
  5. 1%10=1
  6. 但现在题目的要求我们要从最高位开始打印每一位
  7. 换一个思路,从最内层开始打印
  8. print(1234) 可以看成
  9. print(123) + 4 又可以看成
  10. print(12) + 3 + 4 又可以看成
  11. print(1) + 2 + 3 + 4

打印自己的每一位

上代码:

  1. #include<stdio.h>
  2. void print(int unsigned i)
  3. {
  4. //从内到外打印
  5. unsigned int n=0;
  6. n=i%10;
  7. if(i>9)
  8. {
  9. i=i/10;
  10. print(i);
  11. }
  12. printf("%u",n);
  13. }
  14. int main()
  15. {
  16. unsigned int i=0;
  17. printf("请输入一个整数:>");
  18. scanf("%d"&i);
  19. print(i);
  20. return 0;
  21. }

学的不是技术,更是梦想

发表评论

表情:
评论列表 (有 0 条评论,121人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C语言 函数

    函数 一、函数的调用    1.传值调用: 函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。在函数被调用时,实参传给形参其实形参就是实参的一份临时拷贝

    相关 C语言函数

    文章目录 一、函数的概念 1、函数的概念 2、函数的分类 二、自定义函数的声明 三、自定义函数的定义 四、自定义函数代码

    相关 C语言 函数

    \ 函数基本概念 \\1.函数的概述 \- C源程序是由\\函数组成\\的。虽然在前面各章的程序中大都只有一个主函数main(),但实用程序往往由多个函数组成。函数是C源程

    相关 C语言函数

    1、C语言里可以采用分组的方式管理语句每个语句分组叫做一个函数 2、多函数程序执行的时候时间分配情况必须遵守以下规则 1.整个程序的执行时间被划分成几段,每段时间都被分配

    相关 C语言函数

    1、C语言里可以采用分组的方式管理语句每个语句分组叫做一个函数 2、多函数程序执行的时候时间分配情况必须遵守以下规则 1.整个程序的执行时间被划分成几段,每段时间都

    相关 CC语言内存函数

    C语言内存函数向编程人员提供复制、比较与设置内存块的有效方式,这些函数属于字符串函数,放在库文头文件string.h中声明,C89增补1增加了5个操纵宽字符数组的新函数。 s

    相关 C语言函数

      函数的概念        每个C程序都至少有一个函数,即主函数 main() ,如果程序的任务比较简单,全部的代码都写在main()函数中,但是,在实际开发中,程序