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

鹏哥C语言43---函数的嵌套调用和链式访问

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//----------------------------------------------------------------------------------------5. 函数的嵌套调用和链式访问

//-----------------------------------------------------------------------------------------------5.1嵌套调用
// 函数和函数之间可以根据实际的需求进行组合,也就是可以相互调用
// 但是不能嵌套定义
/*
void new_line()
{
    printf("hehe\n");
}

void three_line()
{
    int i = 0;
    for (i = 1; i <= 3; i++)
    {
        new_line();
    }
}

int main()
{
    three_line();
        return 0;
}
*/

//  函数  不能 嵌套定义
/*
int Add(int x, int y)
{
    return x + y;
    int Sub(int x, int y)
    {
        return x - y;
    }
}
*/

//-----------------------------------------------------------------------------------------------5.2 链式访问
//  链式访问  依赖的是函数的返回值
// 链式访问的前提条件是函数要有返回值

#include <string.h>
/*
int main()
{
    int len = strlen("abcdef");//求字符串长度
    printf("%d\n", len);
    
    //链式访问
    printf("%d\n", strlen("abcdef")); // strlen函数本身有个整型的返回值

     
    printf("%d",     printf("%d",     printf("%d", 43))); //输出 4321
    //printf函数返回的值是字符的个数,43是2个字符,打印出2,2是1个字符,又返回1

    return 0;
}
*/

//------------------------------------------------------错误示范1:不给返回类型
/*
void test()
{
    printf("hehe");
}

int main()
{
    int n = test(); //是错误的,因为上边函数 test 没有给返回值
    return 0;
 }
*/

//-----------------------------------------------------错误示范2::不写返回类型
//函数不写返回类型的时候,默认返回类型是  int
/*
Add(int x, int y) // 不写返回类型,不可取!!!!!
{
    return x + y;

int main()
{
    int a = 1;
    int b = 5;
    int c = Add(a, b);
    printf("%d\n", c);
    return 0;
}
*/

//-----------------------------------------------------错误示范3:没有明确返回值
/*
int Add(int x, int y) 
{
    printf("hehe\n"); //输出 hehe
    //printf("%d\n",x+y); 
}
//上述代码在一些编译器上返回的是函数执行过程中最后一行指令执行的结果

int main()
{
    int a = 1;
    int b = 5;
    int c = Add(a, b);
    printf("%d\n", c);  // 输出 5,因为hehe\n 一个5个字符
    return 0;
}
*/

//-----------------------------------------------------错误示范4:函数参数不写
/*
void test()
{
    printf("hehe\n");
}
int main()
{
    test();// hehe
    test(100); //hehe
    //100传过去没地方接收,写了也不报错,但不推荐写

    return 0;
}
*/

明确的说 main 函数不需要参数
本质上main 函数是有参数的
//int main(void)
//{
//    return 0;
//}

// main 函数有 3 个参数
int main(int argc, char* argv[], char *envp[])
{

    return 0;
}


http://www.kler.cn/news/317303.html

相关文章:

  • gin参数绑定panic错误分析
  • OpenCV特征检测(5)检测图像中的角点函数cornerMinEigenVal()的使用
  • 【TS】TypeScript基础入门篇以及实践案例
  • 中间件:maxwell、canal
  • Unity 高亮插件HighlightPlus介绍
  • Node.js backend for OpenAI image generation giving error code 400
  • Excel导入时,一个简单的匹配中文外键的方法
  • 防护装备穿戴与否检测系统源码分享
  • Vue.js Emit
  • 多旋翼无人机维修、组装、调试技术详解
  • typora使用和激活
  • 【机器学习】生成对抗网络(GAN)——生成新数据的神经网络
  • 共建智能座舱AI应用生态 夸克合作斑马智行开拓AI搜索新场景
  • 【Linux】SSH:远程连接
  • python 项目中使用Elasticsearch
  • Qt Creator项目模板介绍
  • 使用OVPN导致电脑网速变慢的原因
  • MySQL record 08 part
  • 成功使用DDNS动态域名访问我的群晖NAS(TP-link路由器)
  • Yocto - 使用Yocto开发嵌入式Linux系统_03 基于Poky制作第一个系统
  • vue.js 展示一个树形结构的数据视图,并禁用其中默认选中的节点
  • java并发之并发理论
  • 【自动驾驶】基于车辆几何模型的横向控制算法 | Pure Pursuit 纯跟踪算法详解与编程实现
  • 同一网络下两台电脑IP一样吗?探究局域网内的IP分配机制
  • 释放TK49N65W5 MOSFET的潜力
  • 镭射限高防外破预警装置-线路防外破可视化监控,安全尽在掌握中
  • C++继承(上)
  • 数据结构 - 概述及其术语
  • AI教你学Python 第18天 : 线性数据结构
  • 【LeetCode:1014. 最佳观光组合 + 思维题】