函数,形参 实参,递归

2023-11-17

打开网页
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
void main()
{
ShellExecuteA(0,"open","https://www.baidu.com/index.php?tn=56060048_4_pg&ch=12",0,0,1);    //打开的网页
}


#include<stdio.h>
void main(){

int main1();
getchar();    //函数的顺序执行
}

void main1(){
    int main2();
}

void main2(){

}


头文件:多重定义问题,解决方案,头文件的函数要做函数申明;

并且创建一个和头文件名字一样的   .c文件   并且实现在函数中调用并且运行成功    #include"文件名.h"


函数总结:什么是函数,函数的定义,结构:函数名,参数列表 ,返回值
void 是一个空类型,所以它并没有返回值

四种形式:没有参数,没有返回值  没有参数,有返回值  有参数,没有返回值 有参数,有返回值

特殊:

int a=5;
int &b=a;    这里的&是标识符 作用是将b和a捆绑,使其等价
b=6;
cout<<a<<b<<endl;  //a=6,b=6
c=7,b=c;
cout<<a<<b<<endl;   //a=7,b=7



形参和实参

实参:主函数的参数  调用某个函数 ,并传递相应参数             

 形参:调用函数中传递的参数、

#include <stdio.h>
int func(int a,int *p);
void main()
{  int a=1,b=2,c;
  c=func(a,&b);    //a=1,b=4,c=6;
  b=func(c,&a);     //c=6,a=9,b=16
  a=func(b,&c);     //b=16,c=19,a=36;
  printf("a=%d,b=%d,c=%d",a,b,c);   
}
int func(int a,int *p)   //传入的形参只是在这个函数中起作用,并不会改变实参值
{ 
   a++;
   *p=a+2;
   return(*p+a);
}



递归函数:反复调用自己,算法,一定要用边界,

注:循环能写的递归都能写,



十进制转二进制

#include<stdio.h>
void add(int n){
if(n>0){
 add(n/2);       //这是一个调用的函数,重复调用它本身,并且一直除以2,n值会按照顺序保存,最后打印的时候就按照反顺序依次磨除并打印
 printf("%d",n%2);
}
}


void main (){
int n;
printf("请输入一个十进制数");
scanf("%d",&n);
add(n);                            //主函数在后,调用函数在前才能被调用,,或者在开头申明一下函数,在程序的后面就可以引用
getchar();                                                                                                                                                                                          //这就是函数的申明以及变量的申明
getchar();          //getchar只能放在主函数里,作为停顿的作用
}



注意很重要的一个点:传递实参的时候,这个要被传递的实参必须在主函数中做出申明还有赋值

参数的传递过程中,实参传到对应函数,对应函数类型 参数列表必须一致


void add(int a,int b)    void是一个空类型,没有返回值
{
return a+b;
}
错误点:返回类型不一致。






本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数,形参 实参,递归 的相关文章

  • JSP、JSTL标签

  • 02-JavaWeb之Servlet及相关知识点

    一 Servlet 简介 Java Servlet 是运行在 Web 服务器 tomcat 或应用服务器上的程序 它可以接收来自 Web 浏览器或其他 HTTP 客户端的请求 并进行结果的响应 使用 Servlet 可以收集来自网页表单的用

随机推荐

  • 1064 Complete Binary Search Tree (30 分)

    题目 题目链接 题解 数据结构 二叉排序树的中序遍历是单调递增的 完全二叉树具有很好的顺序存储的性质 利用中序遍历和递归 先构造左子树 再对根节点进行赋值 再构造右子树 我是fw 代码 include
  • 【异常】 DevOps工具链SonarQube提示严重的错误,内容为Save and re-use this “Random“,需要使用SecureRandom替换Random

    一 报错内容 二 报错说明 2 1 Random和SecureRandom的区别 Random生成伪随机数 这意味着这些数字并不是真正的随机数 而是由算法生成的 如果攻击者知道生成这些数字的算法 那么Random生成的数字就可以被预测 因此
  • scrapy中使用正确的xpath出现空列表问题

    今天在使用scrapy框架爬取网页时 使用正确的xpath来爬取时 爬取的缺失空列表 代码如下 coding utf 8 import scrapy class HaodfSpider scrapy Spider name haodf st
  • Elasticsearch基本查询

    目录 基本语法 查询所有 match all 匹配查询 match 多字段查询 multi match 精确匹配 term 多词条精确匹配 terms 结果过滤 直接指定字段 指定includes和excludes 布尔组合查询 bool
  • Minio入门教学

    Minio 文件存储系统 以往的项目 用的比较多的OSS服务是腾讯云和阿里云的存储服务 最近的几个项目 普遍要使用Minio 所以我在开发服务器和测试服务器上都装上了minio 一 首先minio的安装 采用docker安装 因为docke
  • 预处理丨去趋势(Matlab和C++)

    预处理丨去趋势 Matlab和C 预处理丨去趋势 Matlab和C 介绍 原理 MATLAB 实现 C 实现 本科没学过信号处理 对采集的数据需要做预处理 如去趋势 本文介绍一下去趋势的作用和方法 介绍 1 去趋势波动分析 detrende
  • anaconda+pyCharm安装教程

    1 前往官网下载anaconda 官网下载地址 https www anaconda com products individual 无脑next就完事了 记得修改安装路径 D盘或其他盘都行 这两个框都勾选上 省下配置环境的烦恼 2 接下来
  • MD5算法 —— C语言实现(字符串的加密)

    网上找到的实现md5函数代码 包括一个头文件md5 h和一个源文件md5 c 用下面的测试代码test c测试通过 各文件依次如下 h文件 md5 h ifndef MD5 H define MD5 H typedef struct uns
  • 格式文档时使用替换删除空白行

    格式文档时使用替换删除空白行 手动的话 可以使用替换 选上正则 匹配栏 n s 2 n s 匹配大于等于2个换行的 替换栏 1 然后一键替换即可
  • kotlin 一用就爱上

    前言 前晚谷歌大会正式宣布 kotlin正式成为官方开发语言 圈里顿时闹得沸沸扬扬 之前也有去捣鼓一下 就是每次下载插件的时候会失败 然后就没捣鼓 但是谷歌昨天正式宣布了所以得去捣鼓了 刚刚开始的时候下载的时候也会弹出个失败窗口 直接复制图
  • jenkins部署微服务项目

    新手上路 对着视频做了一个谷粒的在线教育项目 测试跑通之后 想要自己试着部署到自己的云服务器上 闲着也是闲着不是 言归正传 简介 在微服务架构中 随着服务越来越多 服务的打包部署就会成为一个相当麻烦的事情 比如说我的edu online项目
  • 函数写不好后面的人都会遭殃,如何写一个更好的Python函数?

    Python虽然好用 但用好真的很难 尤其是函数部分 只要写不好 后面的一连串人都会遭殃 看又看不懂 测试起来也麻烦 维护又维护不动 真是让人头疼 那怎么写好一个Python函数呢 Writing Idiomatic Python 一书的作
  • 2020年深圳杯C题

    C题 无线可充电传感器网络充电路线规划 摘要 物联网的快速发展带动了无线传感器网络WSN在生活中的广泛运用 无线传感器网络中包括若干传感器以及一个数据中心 这些传感器的电池均需要移动充电器提供能量来维持正常的工作 移动充电器的能量一方面用于
  • 物联网(AIOT)--下一个技术风口

    物联网 AIOT 下一个技术风口 我们现在身边越来越多的硬件设备正在被嵌入芯片 软件 从而实现更多的功能和更紧密的联系 物联网其实是借助互联网的力量 实现万物互联 如果说互联网是联系你我 让信息的交换更加自如 物联网是让人体自身 身边的各种
  • AIGC:人人可用的新时代,ChatGPT背后的技术将深刻改变工作模式,重塑商业形态...

    省时查报告 专业 及时 全面的行研报告库 省时查方案 专业 及时 全面的营销策划方案库 免费下载 2023年8月份全网热门报告合集 ChatGPT提词示例 让你的ChatGPT聪明100倍 超百页干货资料 AI应用的难点 痛点与未来 202
  • 【VULNHUB靶机】Corrosion: 1

    在家隔离 好久没玩靶机了 现在来整一个 靶机信息 下载地址 https www vulnhub com series corrosion 491 下载之后直接导入到vmeware即可 打靶过程 信息收集 nmap masscan 发现有22
  • 2022年高教社杯全国大学生数学建模竞赛-【比赛规则篇】比赛规则及比赛指导

    目录 前言 比赛规则 1 开题说明 2 竞赛结束前 1 参赛作品的组成 2 参赛作品的提交
  • 解决Eclipse找不到或无法加载主类问题

    1 projiet clean 2 再次运行程序 就可以成功运行
  • C++ lock_guard 自动释放锁

    概述 根据对象的析构函数自动调用的原理 c 11推出了std lock guard自动释放锁 其原理是 声明一个局部的lock guard对象 在其构造函数中进行加锁 在其析构函数中进行解锁 最终的结果就是 在定义该局部对象的时候加锁 调用
  • 函数,形参 实参,递归

    打开网页 include