c语言基础总结之获取数组中元素最小值

2023-10-31

数组获取元素个数:

sizeof(ids)/sizeof(int)

需要根据字节的长度来计算个数,当然在java中直接.length来获取,c语言就是比较麻烦,毕竟java是封装语言,将繁杂的步骤分装好方便调用了.

//用随机数生成一个数组,写一个函数查找最小的值,并返回最小数的地址,在主函数中打印出来

#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <math.h>
#include <time.h>
//案例:用随机数生成一个数组,写一个函数查找最小的值,并返回最小数的地址,在主函数中打印出来
int* getMinPointer(int ids[],int len){
	int i = 0;

	//注意:参数传递无法正常使用,在这数值为1;
	printf("参数计算数组长度:%d\n",sizeof(ids)/sizeof(int));
	
	int* p = &ids[0];
	for (; i < len; i++)
	{
		if (*p>ids[i]){
			p = &ids[i];
		}
	}
	return p;

}

void main(){
	int ids[10];
	int i = 0;
	//初始化随机数发生器,设置种子,种子不一样,随机数才不一样
	//当前时间作为种子 有符号 int -xx - > +xx
	srand((unsigned)time(NULL));
	for ( i = 0; i < sizeof(ids)/sizeof(int); i++)
	{
		ids[i] = rand() % 100;
		printf("数组:%d\n", ids[i]);
	}
	printf("数组长度:%d\n", sizeof(ids) / sizeof(int));
	int* p = getMinPointer(ids, sizeof(ids) / sizeof(int));

	printf("获取最小地址:%#x,获取最小:%d\n", p, *p);

	getchar();
}

注意:数组传递参数出错原因,(有时候java和c语言一不小心就穿越了,感谢csdn 郭某爱吃小鱼鱼发现博客写错的bug)

在c中,数组在作为参数的时候就退化为指针,对一个地址来取大小呢,如果是32位系统的话即为4,如果是64位系统的话为8,所以呢,在函数中sizeof获取的是指针的长度而不是数组的长度

 

 

编译结果:

 

//初始化随机数发生器,设置种子,种子不一样,随机数才不一样

srand((unsigned)time(NULL));  //没有这句,则编译的结果就和上面的一样,数组一直没更新

 

vs2013提示键:tab

无法做到百分百全对,但是知错能改.嘿嘿

 

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

c语言基础总结之获取数组中元素最小值 的相关文章

  • PostgreSQL 锁表

    PostgreSQL 锁表解决 解决 一 碰到的问题 Navicat删除表是一直转圈 出现问题的原因 短时间多次对同一张表进行查询造成表死锁 解决思路 通过查询进程把锁住的pid查出来然后解锁 1 查询正在运行的进程 datname为数据库

随机推荐

  • sqlserver连接字符串_10分钟使用EF Core连接MSSQL数据库

    给DotNet加星标 提升 Net技能 转自 Ron liang cnblogs com viter p 10243577 html 前言 在 NET Core 2 2中Microsoft AspNetCore App 默认内置了Entit
  • 【UE】读写配置文件 ue读写ini文件

    UE读写ini文件 前言 1 新建C 文件 2 编写代码 2 1 头文件h文件 2 2 cpp文件 3 函数说明 3 1 写入ini 3 2 读取ini 4 打包后读取ini数据 4 1 打开Editor时的Game ini 4 2 打包后
  • 快速成长的秘诀|学会自我培养和培养他人

    快速成长总共三篇 分别是 完成自我认知升级 自我成长好方法 和 自我培养和培养他人 本篇是第三篇 篇幅较长 针对长文的阅读方式 依旧建议在 完成自我认知升级 中提到的阅读方式 在一个不被打扰的时间做好只字不差阅读 用批判性思维思考和理解其中
  • 银行从业中级系列课程之——内容概述

    课程初衷 由于在体制内工作 银行从业已经成了内部要求 本人连续两年重在参与了 终于决定为了奖励的400元战斗一下 同时提升下个人的银行从业水平 课程简介 本课程根据2021年课程大纲进行汇总 同时结合了233网校的课程内容进行了编写 力求能
  • linux编译mesa,编译安装 Mesa (OpenGL)

    最近因为工作需要 想看一下 OpenGL 的东西 就在笔记本上搭建了 OpenGL 的环境 解压后 运行 configure 根据提示安装必要的包 编译 安装 我安装到了 usr local private 下面 usr local pri
  • 佳威线管分级说明

    次次底级 keb sl刹车 次底 cgx sl刹车 lex sl变速 底级 无润滑 cex刹车 lex变速
  • Spark Task的各个动作时间来源以及Task Schedule Delay 问题排查

    背景 发现线上偶尔会出现一些Spark Task会显示Schedule Delay数分钟甚至十几分钟 所以要排查原因 Task 时间分析以及Schedule Delay计算公式 如图所示 时间轴上面的表示Driver 记录到的各个时间 时间
  • 结构体与共用体(联合体)

    参考 结构体与共用体 作者 一只青木呀 发布时间 2020 08 09 08 29 22 网址 https blog csdn net weixin 45309916 article details 107889394 参考 联合体 uni
  • 多线程下载

    原理 服务器cpu分配给每条线程的时间片是相同的 服务器带宽平均分配给每个线程 所以客户端开启的线程越多就能抢占到更多的服务器资源 用java实现 public class NultiDownload static String path
  • MySQL多表关系及多表查询

    多表关系 在关系型数据库中存在着三种多表关系 分别是一对多 多对一 多对多以及一对一 之所以会产生这些关系 是因为在进行数据设计的时候 分析得出业务之间存在着一定的关系 进而在数据中也就存在了这些关系 一对多 一对多是最基础的表间关系 意思
  • 给大家推荐一门比较适合用来学习流量分析技术的公开课(内附课程b站链接)

    最近看到同事在看一门课程 是CSNA出的一套免费对外公开课 跟着看了一下觉得不错 分享给大家 CSNA是国内比较老牌且低调的网络技术分析认证培训了 在网络运维和网络安全方向上还是有口皆碑的 课程内容比较体系化 有理论也有实操 涵盖了业务性能
  • php面试题猴子123报数(猴子选大王)

    题目就是有N个猴子 123循环报数数到3的猴子被踢出下一个接着报数 一遍一遍的循环直到剩余一个猴子 求这个猴子是最开始的第几号猴子 我想到了两个方法 第一个就是模拟报数的模式 每到3的时候unset一个元素 最后剩余的就是 要求的猴子 代码
  • windows如何关闭IIS (因为占用80端口而无法启动nginx)

    一 场景概述 正在写一个Web项目但是每次输入都需要加上端口号 所以想用服务器代理一下端口 让可以直接用nginx来解决这个问题但是 nginx异常无法打开 结果发现80端口被异常占用 因为windows的IIS也占用80端口号 比如win
  • 电脑命令教程计算机基础知识,电脑常用运行命令图文教程(DOS命令)

    本文介绍一些常用的运行窗口命令 也是DOS命令 同时所有的命令均在win7旗舰版测试通过 并附有运行后的图片 运行命令窗口如下 工具 原料 电脑一台 本文以win7系统的电脑为例 方法 步骤 1 调出运行命令窗口 按快捷键 win R 或者
  • java|8.18总结|基本功能

    1 思维导图 2 用自己的话描述某知识点是什么 举例 总结 一句话总结 环境变量 理解 环境变量相当于提前封装好一个环境 功能 在此环境下 比如在有path环境下 可以直接执行java文件 不用先进入JAVA的目录才能运行java 如果需要
  • 使用Docker安装配置Jupyter并配置R语言与Python环境

    文章目录 Docker docker的安装 将当前用户添加到docker用户组 拉取一个镜像 创建配置目录 启动docker服务 登录jupyter容器 安装vim 更换源 JupyterNotebook 设置python 安装Jupyte
  • 【burpsuite安全练兵场-服务端6】信息泄露漏洞-5个实验(全)

    前言 介绍 博主 网络安全领域狂热爱好者 承诺在CSDN永久无偿分享文章 殊荣 CSDN网络安全领域优质创作者 2022年双十一业务安全保卫战 某厂第一名 某厂特邀数字业务安全研究员 edusrc高白帽 vulfocus 攻防世界等平台排名
  • Vue中常用基础标签

    创建一个Vue实例 var vm new Vue el app data methods 在html中完整代码
  • 练习2-2 在不使用运算符&&或者

    1 for i 0 i lt lim 1 c getchar n c EOF i 2 s i c 3 4 5 while i lt lim 1 6 7 while c getchar EOF 8 9 while c getchar n 10
  • c语言基础总结之获取数组中元素最小值

    数组获取元素个数 sizeof ids sizeof int 需要根据字节的长度来计算个数 当然在java中直接 length来获取 c语言就是比较麻烦 毕竟java是封装语言 将繁杂的步骤分装好方便调用了 用随机数生成一个数组 写一个函数