当前位置: 首页 > article >正文

【c语言初阶】函数的嵌套

前言:

内容:

函数里不能包含一个函数,但是一个函数可以引用一个函数,就是

函数可以嵌套调用,不能嵌套定义

#include <stdio.h>
//函数嵌套
int add(int x,int y)
{
    int xxc(int a)   //不能这样写,里面就是又有一个自定义函数
    {
    }
    
    addx(a,b);     //但是这个函数可以调用其他函数,就想这样

    return 0;
}
int main()
{
    add(a,b);
    return 0;

}

2、链式访问

就是说将strlen的返回值,当做%d的参数进行打印,嗯

strlen的返回值是int类型,可以用%d来接收

#include <stdio.h>
#include <string.h> 
//链式访问
int main()
{
	int len = strlen("abcdef");
	printf("%d\n", len);
	
	printf("%d\n", strlen("abcdef"));
}

还有一种写法就是

这个就是printf的嵌套,然后考察的是printf的返回值

printf的返回值就是打印的这个字符的长度作为返回值来接收

所以最先执行里面的printf的,就是打印43

然后里面第二个printf就是打印最后一个返回值,最后的printf打印的是43,也就是两个字符串的长度,作为返回值给第二个printf

然后第二个printf打印的就是二,然后第二个printf返回的就是一个字符串长度的2,就是一个字符

然后第一个printf就打印一个字符,打印的就是1

int main()
{
	printf("%d", printf("%d", printf("43")));
	return 0;
}

写代码的注意事项

这里没有返回值,因为是void,不返回参数或者结果

void是用来打印的,差不多,就是printf

#include <stdio.h>
void test()
{
    return x+y;
}
int main()
{
    int n = void(a,b)
}

还有就是

没有写任何类型,就默认是int类型,但是不介意这样写,因为这是模棱两可的

#include <stdio.h>
test(int x,int y)
{
    return x+y;
}
int main()
{
    int n = void(a,b)
}

模棱两可的写法二、

下面的代码在一些编译器上返回的是函数中执行过程中最后一条指令执行的结果

//这里打印的是5个字符,因为hehe四个字符,\n算一个字符

#include <stdio.h>
int test(int x,int y)
{
    printf("hehe\n");
}
int main()
{
    int n = test(a,b);
    printf=("%d", n);   //这里打印的是5个字符,因为hehe四个字符,\n算一个字符
}

明确接受不接受参数

void test(void)    //这里的(void)就是明确表示不接收参数

//介绍错误写法
void test(void)
{
	printf("hehe\n");
 } 

int main()
{
	test(100);
	test();
	return 0;
}

main函数有三个参数,

l了解一下,知道main函数可以有参数的

//main函数有三个参数
int main(int argc, char* arge[], char *envp[])
{
	return 0;
 } 


http://www.kler.cn/a/553214.html

相关文章:

  • 143.WEB渗透测试-信息收集-小程序、app(14)
  • 【AIGC工具箱】AIGC重塑生活神器
  • chrome V3插件开发,调用 chrome.action.setIcon,提示路径找不到
  • 51单片机-外部中断
  • 【大厂AI实践】中原银行:中原银行 AI 平台建设实践
  • 大模型WebUI:Gradio全解11——使用transformers.agents构建Gradio UI(2)
  • Java与Go相比,有什么独特的优势
  • python 变量类型注释
  • SQL 注入攻击
  • 神经网络|(十)概率论基础知识-正态分布及python仿真
  • EasyExcel 自定义头信息导出
  • Linux-GlusterFS进阶分布式卷
  • 华为最新OD机试真题-通过软盘拷贝文件-Python-OD统一考试(E卷)
  • Vision Transformer图像分类实现
  • Activity 任务栈 taskAffinity 用法
  • 【机器学习与数据挖掘实战】案例14:基于随机森林分类器的汽车公司客户细分预测
  • CMU 15-445 23Fall Lab 总结
  • ​33页PDF | 基于数字化转型的数据指标与标签体系应用架构设计方案
  • JavaScript 前端面试 4(作用域链、this)
  • 【nodejs+mysql2+docker】node后端开发+docker部署简记