iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言函数的使用方法是什么
  • 103
分享到

C语言函数的使用方法是什么

2023-06-30 09:06:26 103人浏览 八月长安
摘要

本文小编为大家详细介绍“C语言函数的使用方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言函数的使用方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、函数的嵌套调用在定义函数时,一个函数内

本文小编为大家详细介绍“C语言函数的使用方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言函数的使用方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一、函数的嵌套调用

在定义函数时,一个函数内不能再定义另一个函数,即不能嵌套定义,但可以嵌套调用函数,即在调用一个函数的过程中,又调用另一个函数。

C语言函数的使用方法是什么

⚠️注意:

  • 函数可以嵌套调用但是不可以嵌套定义。

  • 每一个函数都应该在大括号的外面独立存在。

代码示例:

C语言函数的使用方法是什么

根据这张图可以清楚的看到,three_line() 函数内部嵌套了一个 new_line() 函数。

当前代码打印了3个haha。

二、函数的链式访问

函数的链式访问就是把一个函数的返回值作为另一个函数的参数。

C语言函数的使用方法是什么

当前代码,strlen()函数是作为printf()打印函数的参数,把自己的返回值3返回给了printf()函数,所以最终打印结果是:3。

下面代码的打印结果是什么?

#include<stdio.h>int main(){    printf("%d", printf("%d", printf("%d", 43)));    return 0;}

 输出结果:

C语言函数的使用方法是什么

代码分析:  

 ⚠️注意:printf()函数的返回值是打印字符的个数。

当得知了printf()函数的返回值是打印字符的个数后,可以做出一下分析。

C语言函数的使用方法是什么

三、函数递归

递归的优缺点

程序调用自身的编程技巧称为递归。可以直接或间接的调用,本质是把复杂的问题转化为一个规模小的问题。递归一般只需少量的代码就可描绘出多次重复计算。递归的主要思考方式:大事化小

必要条件

  • 存在限制条件,当满足这个限制条件的时候,递归便不再继续。

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

使用场景

能够要求转化为新的问题,且二者解决方法相同,所处理的对象存在规律变化。

非递归比较麻烦,而递归很简单。

有模板或是公式可以直接套用,不会出现明显问题。

函数递归的细节说明 

每级递归都有自己的变量,可能名称相同,但是值不同。

递归调用时,系统自动保留当前函数的参数变量。

每次调用系统都会为函数开辟相应的空间。

每次调用都要返回值,递归执行结束后,控制权传回到上一级函数。

调用结束后,系统释放本次调用所开辟的空间,

程序返回到上一次的调用点,同时获得初进该级调用的参数。

每级递归必须逐级返回,不可跳跃或间断。

 函数中递归语句之前的代码,按被调函数的顺序执行,

递归之后的代码,与被调函数相反的顺序执行。

举例说明

接受一个整型值(无符号),按照顺序打印它的每一位。例如,输入:1234,输出:1 2 3 4

代码示例:

#include<stdio.h>void print(unsigned int n){    if (n > 9)    {        print(n / 10);    }    printf("%d ", n % 10);}int main(){    unsigned int num = 0;    scanf("%u", &num);    //print函数可以打印参数部分数字的每一位    print(num);    //函数递归 - 自己调用自己    return 0;}

输出结果:

C语言函数的使用方法是什么

代码分析:

C语言函数的使用方法是什么

对两个必要条件的理解

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

C语言函数的使用方法是什么

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

C语言函数的使用方法是什么

如果是递归,两个限制条件必定满足。

四、递归练习

编写函数不允许创建临时变量,求字符串的长度:

题目要求不允许创建临时变量,当前代码不符合要求。

#include<stdio.h>#include<string.h>int my_strlen(char* str){int count = 0; // 临时变量//printf("%c\n", *s);while (*str != '\0'){count++;str++;}return count;}int main() {//求字符串的长度char arr[] = "haha";int len = strlen(arr);printf("%d\n", len);return 0;}

符合要求的写法: 

#include<stdio.h>#include<string.h>int my_strlen(char* str) {if (*str == '\0') {return 0;}else {return 1 + my_strlen(str + 1);}}int main() {//求字符串的长度char arr[] = "haha";//arr是数组名,数组名是数组首元素的地址int len = my_strlen(arr);printf("%d\n", len);return 0;}

代码分析:

C语言函数的使用方法是什么

运行结果:

C语言函数的使用方法是什么

读到这里,这篇“C语言函数的使用方法是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网其他教程频道。

--结束END--

本文标题: C语言函数的使用方法是什么

本文链接: https://www.lsjlt.com/news/327875.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言函数的使用方法是什么
    本文小编为大家详细介绍“C语言函数的使用方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言函数的使用方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、函数的嵌套调用在定义函数时,一个函数内...
    99+
    2023-06-30
  • C语言SetConsoleCursorInfo函数使用方法是什么
    本篇文章为大家展示了C语言SetConsoleCursorInfo函数使用方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。函数的接口BOOL WINAPI SetCons...
    99+
    2023-06-21
  • C语言SetConsoleCursorPosition函数使用方法是什么
    这篇文章给大家介绍C语言SetConsoleCursorPosition函数使用方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。函数接口BOOL WINAPI SetConsoleCurso...
    99+
    2023-06-21
  • C语言GetStdHandle函数使用方法是什么
    今天就跟大家聊聊有关C语言GetStdHandle函数使用方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。函数的接口HANDLE WINAPI GetSt...
    99+
    2023-06-21
  • C语言断言函数assert()的使用方法是什么
    本篇内容介绍了“C语言断言函数assert()的使用方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  在C语言库函数中提供了一个辅...
    99+
    2023-06-25
  • c语言子函数调用的方法是什么
    在C语言中,可以使用以下两种方法调用子函数:1. 值传递(Call by Value):将实参的值复制给形参,子函数中对形参的修改不...
    99+
    2023-09-13
    c语言
  • c语言调用子函数的方法是什么
    在C语言中,调用子函数的方法可以通过以下步骤实现:1. 首先,在主函数或其他需要调用子函数的函数中,声明子函数的原型。原型包括子函数...
    99+
    2023-10-08
    c语言
  • c语言realloc函数的用法是什么
    realloc函数是用于重新分配内存块的大小的函数。它可以用于扩大或缩小已经分配的内存块的大小。realloc函数的用法如下:voi...
    99+
    2023-09-14
    c语言
  • c语言strcpy函数的用法是什么
    strcpy函数是C语言中的一个字符串处理函数,其原型如下:```cchar* strcpy(char* dest, const c...
    99+
    2023-09-14
    c语言
  • c语言strlen函数的用法是什么
    strlen函数用来计算字符串的长度,不包括字符串末尾的空字符('\0')。其用法如下:```c#include size_t st...
    99+
    2023-09-14
    c语言
  • c语言ioctl函数的用法是什么
    在C语言中,ioctl函数是用来控制设备的系统调用函数。它的原型如下:cint ioctl(int fd, unsigned lon...
    99+
    2023-10-18
    c语言
  • c语言abs函数的用法是什么
    c语言中的abs函数用于返回一个整数的绝对值。其语法如下:int abs(int n);其中,n为要求绝对值的整数。abs函数的返回...
    99+
    2023-10-21
    c语言
  • c语言isalpha函数的用法是什么
    isalpha函数是C语言中的一个字符判断函数,用于判断给定的字符是否为字母。其函数原型为: int isalpha(int c);...
    99+
    2023-10-26
    c语言
  • c语言readline函数的用法是什么
    在C语言中,`readline()`函数用于从文件中读取一行内容,并将其存储到字符串中。 `readline()`函数的声明如下: ...
    99+
    2023-10-26
    c语言
  • C语言fwrite函数的用法是什么
    fwrite函数是C语言中的一个文件操作函数,用于将数据块写入文件中。其基本用法如下:```csize_t fwrite(const...
    99+
    2023-09-12
    C语言
  • c语言calloc函数的用法是什么
    calloc函数是C语言中的一个动态内存分配函数,用来分配一片连续的内存空间,并将其初始化为0。其函数原型如下所示: void *c...
    99+
    2023-10-26
    c语言
  • c语言feof函数的用法是什么
    feof函数是C语言标准库中的一个函数,用于判断文件流是否已经到达文件结尾。它的用法如下: #include int feof(...
    99+
    2023-10-23
    c语言
  • c语言attribute函数的用法是什么
    在C语言中,attribute函数用于指定函数属性。它可以用于函数声明或定义中,以指定一些特定的行为或属性。attribute函数通...
    99+
    2023-10-24
    c语言
  • c语言locate函数的用法是什么
    C语言中的`locate`函数并不存在。也许你指的是`strstr`函数,它用于在一个字符串中查找另一个字符串的位置。以下是`str...
    99+
    2023-10-25
    c语言
  • c语言load函数的用法是什么
    在C语言中,load函数通常是指用于从文件中加载数据到内存中的函数。load函数的具体用法会根据不同的上下文和具体需求而有所区别,下...
    99+
    2023-10-25
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作