初识C语言——第二十五天

news2025/6/7 0:33:21

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

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

链式访问:把一个函数的返回值作为另外一个函数的参数

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//写一个函数,每调用一次这个函数,就会 将num的值加1
//void Add(int* p)
//{
//    (*p)++;
//}
//
//int main()
//{
//    int num = 0;
//    Add(&num);
//    printf("%d\n", num);
//
//    Add(&num);
//    printf("%d\n", num);
//
//    Add(&num);
//    printf("%d\n", num);
//
//
//    return 0;
//}


#include <string.h>
int main()
{
    //int len = strlen("abc");
    //printf("%d\n", len);

    //链式访问,把strlen("abc")的返回值作为printf()函数的参数
    //printf("%d\n", strlen("abc"));

    char arr1[20] = { 0 };
    char arr2[] = "bit";
    strcpy(arr1, arr2);

    printf("%s\n", arr1);
    printf("%s\n", strcpy(arr1, arr2));

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

函数的声明和定义

函数的声明

函数的定义

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//写一个函数,每调用一次这个函数,就会 将num的值加1
//void Add(int* p)
//{
//    (*p)++;
//}
//
//int main()
//{
//    int num = 0;
//    Add(&num);
//    printf("%d\n", num);
//
//    Add(&num);
//    printf("%d\n", num);
//
//    Add(&num);
//    printf("%d\n", num);
//
//
//    return 0;
//}


//#include <string.h>
//int main()
//{
//    //int len = strlen("abc");
//    //printf("%d\n", len);
//
//    //链式访问,把strlen("abc")的返回值作为printf()函数的参数
//    //printf("%d\n", strlen("abc"));
//
//    char arr1[20] = { 0 };
//    char arr2[] = "bit";
//    strcpy(arr1, arr2);
//
//    printf("%s\n", arr1);
//    printf("%s\n", strcpy(arr1, arr2));
//
//    printf("%d", printf("%d", printf("%d", 43)));
//    return 0;
//}

int main()
{
    int a = 10;
    int b = 20;
    
    //函数声明一下-告知
    int Add(int x, int y);

    int c = Add(a, b);
    printf("%d\n", c);


    return 0;
}

//函数的定义
int Add(int x, int y)
{
    return x + y;
}

如何创建并导入静态库?

1.项目工程中——>属性——>配置类型——>静态库——>应用——>确定

2.编译一下 ctrl+f7 ctrl+5(可以编译 但是没有办法运行)

3.在上层目录Debug文件下就会有lib文件

4.将(.lib)文件和(.h)文件卖给别人

5.(.h)文件中解释使用说明,即参考书

6.调用(.lib)文件 导入静态库#pragma comment(lib,"XXX.lib")文件

#include "sub.h"

// 导入静态库
#pragma comment(lib,"sub.lib")

int main()
{
    int a = 10;
    int b = 20;
    //int c=Add(a,b);

    int c = sub(a, b);
    printf("%d\n", c);



    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1686436.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArcGIS批量更改所有符号的格式

这期谈一下&#xff0c;如何修改所有符号的样式。 比如&#xff0c;我们需要更改下图的面符号位无轮廓的 该如何批量修改的呢&#xff1f; 视频教学吧&#xff1a; ArcGIS批量更改所有符号的格式 ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放-CSDN博客文章浏览阅…

OracleDG原理

一、DataGuard架构介绍 1、基本介绍 在DG环境中&#xff0c;至少会有两个数据库&#xff0c;一个数据库处于Open状态&#xff0c;对外提供服务&#xff0c;这个数据库叫做primary Database。第二个数据库处于恢复状态&#xff0c;叫做Standby Database。运行时Primay Databas…

C# 正则表达式使用小计

此文档用于记录平时使用正则表达式的心得&#xff0c;不定期更新 基础 实例 替换实例一 //这里匹配以 “( 开头,以 )” 结尾的字符串 private static Regex REGEX_ARG_CONTENT new Regex("""(.*?)""");//此方法用于在匹配到的结果前添加字符…

TG5032CGN TCXO 超高稳定10pin端子型适用于汽车动力转向控制器

TG5032CGN TCXO / VC-TCXO是一款应用广泛的晶振&#xff0c;具有超高稳定性&#xff0c;CMOS输出和使用晶体基振的削波正弦波输出形式。且有低相位噪声优势&#xff0c;是温补晶体振荡器(TCXO)和压控晶体振荡器(VCXO)结合的产物&#xff0c;具有TCXO和VCXO的共同优点&#xff0…

微网群如何协调控制?基于目标级联法的微网群多主体分布式优化调度程序代码!

前言 微电网将分布式电源(distributed generation&#xff0c;DG)与负荷组成有机整体&#xff0c;通过控制策略降低了分布式电源直接并网对大电网的影响&#xff0c;是分布式电源友好并网的有效手段。随着微电网的不断发展&#xff0c;局部范围内的多个微电网互相联结形成微网…

学习记录16-反电动势

一、反电动势公式 在负载下反电势和端电压的关系式为&#xff1a;&#x1d448;&#x1d43c;&#x1d445;&#x1d43f;*&#xff08;&#x1d451;&#x1d456; / &#x1d451;&#x1d461;&#xff09;&#x1d438; E为线圈电动势、 &#x1d713; 为磁链、f为频率、N…

大语言模型预训练新前沿:「最佳适配打包」重塑文档处理标准

源自&#xff1a;机器之心 “人工智能技术与咨询” 发布 声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨&#xff0c;并不意味着支持其观点或证实其内容的真实性。版权归原作者所有&#xff0c;如转载稿涉及版权等问题&#xff0c;请立即联系我们…

颠覆传统编码,零基础也能飞的工具!

YDUIbuilder以其低代码的设计理念&#xff0c;通过简单的拖拽操作&#xff0c;即使是编程新手也能快速构建出专业的用户界面。这不再是一个遥不可及的梦想&#xff0c;而是一个触手可及的现实。 组件化世界&#xff0c;创意无限&#xff1a;构建梦想中的界面 在YDUIbuilder的组…

java项目之人事系统源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的人事系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于vue的人事系统的主要使用者…

软件无线电学习-第二代移动通信系统过程理解

本文知识内容摘自《软件无线电原理和应用》 无线通信领域让大家感受最深的是民用移动通信的快速发展。民用移动通信在短短的二十年时间里已发展了三代&#xff1a;20世纪80年代的模拟体制(TACS/AMPS)为第一代移动通信(简称1G)&#xff1b;20世纪90年代的数字体制(GSMCDMATDMA)…

.NET快速实现网页数据抓取

网页数据抓取需求 本文我们以抓取博客园10天推荐排行榜第一页的文章标题、文章简介和文章地址为示例&#xff0c;并把抓取下来的数据保存到对应的txt文本中。 请求地址&#xff1a;https://www.cnblogs.com/aggsite/topdiggs 创建控制台应用 创建名为DotnetSpiderExercise的控…

呆马科技----构建智能可信的踏勘云平台

近年来&#xff0c;随着信息技术的快速发展&#xff0c;各个行业都在积极探索信息化的路径&#xff0c;以提升工作效率和服务质量。智慧踏勘云平台是基于区块链和大数据技术构建的全流程智慧可信踏勘解决平台。平台集远程视频、数据显示、工作调度、过程记录为一体&#xff0c;…

5.23 Linux中超时检测方式+模拟面试

1.IO多路复用的原理&#xff1f; IO多路复用使得一个或少量线程资源处理多个连接的IO事件的技术。对于要处理的多个阻塞的IO操作&#xff0c;建立集合并存储它们的文件描述符&#xff0c;利用单个阻塞函数去监控集合中文件描述符事件到达的情况&#xff0c;&#xff08;如果到…

MQTT物联网关

在物联网&#xff08;IoT&#xff09;日益融入我们生活与工作的今天&#xff0c;如何高效、安全地实现设备间的信息交换成为了行业的关键议题。MQTT&#xff0c;作为轻量级的发布/订阅消息传输协议&#xff0c;凭借其高效性、实时性和可扩展性&#xff0c;在物联网领域占据了举…

解决配置动态刷新注解@RefreshScope导致定时任务注解@Scheduled失效问题

示例 1. 获取配置bean 注意使用配置动态刷新注解RefreshScope. Data RefreshScope Component ConfigurationProperties(prefix "test") public class TestProperties {private String filesPath;private String directoryCleanCron; } 2. 实现定时任务的代码 注意…

Unreal基础多线程及渲染多线程

基础多线程&#xff1a; UE4中的多线程模型主要基于FRunnable和FRunnableThread两个核心概念。其中&#xff0c;FRunnable定义了一个可以在线程上运行的对象&#xff0c;而FRunnableThread则提供了一个平台无关的线程对象抽象&#xff0c;负责驱动FRunnable对象的初始化、执行…

线程池(C++)

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 线程池 实现线程类 #pragma once#include <pthread.h> #include <iostream> #include <vector> #include <string> #include <cstdlib> #include <cstring> #include <functional&…

AI大模型探索之路-实战篇4:DB-GPT数据应用开发框架调研实践

目录 前言一、DB-GPT总体概述二、DB-GPT关键特性1、私域问答&数据处理&RAG2、多数据源&GBI3、多模型管理4、自动化微调5、Data-Driven Multi-Agents&Plugins6、隐私安全 三、服务器资源准备1、创建实例2、打开jupyterLab 四、DB-GPT启动1、激活 conda 环境2、切…

【大比武07】人工智能技术赋能城建档案高质量发展

关注我们 - 数字罗塞塔计划 - # 大比武2024 本篇是参加“华夏伟业”杯第二届档案信息化公司业务与技术实力大比武&#xff08;简称“大比武 2024”&#xff09;的投稿文章&#xff0c;来自讯飞知喻&#xff08;安徽&#xff09;科技有限公司&#xff0c;作者&#xff1a;张海剑…

Flask 蓝图路由的模块化开发

基于 Flask 蓝图路由的模块化开发 1. 编程目标 为了提高Flask应用的可维护性和可扩展性&#xff0c;我们通过使用Flask的蓝图(Blueprint)功能&#xff0c;可以将不同的功能模块拆分到独立的文件中&#xff0c;方便后续的开发和维护。 2. 项目结构 项目结构树如下&#xff1…