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

【C语言练习(1)—练习实参和形参之间参数传递】

C语言练习(1)

文章目录

  • C语言练习(1)
  • 引言
  • 题目
  • 解题思路
  • 反思


引言

主要练习和加深理解C语言函数之间是如何进行传参


题目

  • 写一个函数将一个一维整型数组的内容全部重置为1,再写一个函数打印已经重置的数组内容

解题思路

  • 分析题目要求我们写出一个整型的数组 int arr[ ],假设我们简单定义数组 arr[ ]={1, 2, 3, 4, 5, 6, 7},需要写一个重置函数,将arr[ ]={1, 2, 3, 4, 5, 6, 7}全部重置为arr[ ]={1, 1, 1, 1, 1, 1, 1},然后将重置的arr[ ]={1, 1, 1, 1, 1, 1, 1}打印在屏幕上
  • 第一步:构建主函数
    1.构建整型的数组,找出这个数组元素个数
    2.利用重置函数将数组重置为1
    3.写一个打印函数将重置的函数打印在屏幕上
#include<stdio.h>//声明头文件
int main 
{
   int arr[] = {1,2,3,4,5,6,7};
   int sz = sizeof(arr) / sizeof(arr[0]);//找出这个数组元素个数
   printf("原始数组:");
   print(arr, sz);//将原始数组打印出来
   reset(arr,sz);//重置数组
   printf("重置数组:");
   print(arr,sz);//将重置数组打印出来
   return 0;
}
  • 第二步:构建重置函数
    1.由于重置函数不需要任何返回,我们可以void表明无返回
    2.将主函数中的实参传递给重置函数值中
int reset(int arr[],int sz)
{
  int i=0;
  for (i=0; i<sz; i++)
     {
       arr[i]=1;
     }
}
  • 第三步:构建重置函数
    1.将重置函数中的实参传递给打印函数,可以void表明无返回
 int print(int arr[],int sz)
{
  int i=0;
  for (i=0; i<sz; i++)
     {
       printf("%d\n",arr[i]);
     }
}
  • 总程序代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{ 
    int arr[] = {1,2,3,4,5,6,7};
    int sz = sizeof(arr) / sizeof(arr[0]);//找出这个数组元素个数
     printf("原始数组:");
     print(arr, sz);
     reset(arr,sz);
     printf("重置数组:");
     print(arr,sz);
    
    return 0;
}

 int reset(int arr[],int sz)
{
    int i = 0;
    for (i = 0; i < sz; i++)
    {
        arr[i] = 1;
    }
}

 int  print(int arr[], int sz)
{
    int i = 0;
    for (i = 0; i < sz; i++)
    {
        printf("%d", arr[i]);
    }
    printf("\n");
}

  • 程序结果
    在这里插入图片描述

反思

反思一: 对于初学者程序一般会出现各种各样的bug,最好学会逐步运行先看一下程序如何运行,对于vs2022快捷键f10表示单步运行调试程序,如果是没有打开监视窗口的可以先打开,具体的打开步骤:

    1. 先f10快捷键调试程序,单步运行
    1. 在工具栏上找到调试
      在这里插入图片描述
    1. 找到工具-监视,打开一个监视窗口就行
      在这里插入图片描述
    1. 需要监视哪个量在里面输入
      在这里插入图片描述
      反思二: 在写函数的时候,函数的类型要和主函数类型保持一致,例如主函数int main()是整型 ,重置函数int reset(int arr[],int sz)和打印函数int print(int arr[],int sz)的类型性也要和主函数一致,否则程序会报错

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

相关文章:

  • Tomcat下载配置
  • vue3切换路由后页面不报错显示空白,刷新后显示正常
  • 云原生前端开发:打造现代化高性能的用户体验
  • 【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
  • css3过渡总结
  • python(25) : 含有大模型生成的公式的文本渲染成图片并生成word文档(支持flask接口调用)
  • 云原生多模数据库 Lindorm
  • 【OceanBase 诊断调优】—— 日志归档延迟或日志归档慢的原因和解决方法
  • 位运算(一)位运算简单总结
  • 总结的一些MySql面试题
  • 【Mac OS 安装 Homebrew】
  • EasyExcel注解使用
  • python GUI编程
  • C++创建型模式之生成器模式
  • compiler-core核心原理
  • 机器学习—学习过程
  • [笔记] Windows 上 Git 安装详细教程:从零开始,附带每个选项解析
  • 常见算法java语法
  • JavaScript中todolist操作--待办事项的添加 删除 完成功能
  • 实例教程:BBDB为AHRS算法开发提供完善的支撑环境(下)
  • RPA在IT运维中的实践:自动化监控与维护
  • 瑞芯微RK3566/RK3568开发板安卓11固件ROOT教程,Purple Pi OH演示
  • 【包教包会】CocosCreator3.x——重写Sprite,圆角、3D翻转、纹理循环、可合批调色板、不影响子节点的位移旋转缩放透明度
  • 【python】集合
  • 第3章:文本样式 --[CSS零基础入门]
  • 组件开发的环境准备