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

数组获取元素个数:

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 i = 0;
	int* p = &ids[0];
	for ( i = 0; i < sizeof(ids)/sizeof(int); 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]);
	}
	int* p = getMinPointer(ids);

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

	getchar();
}


编译结果:


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

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



vs2013提示键:tab


猜你喜欢

转载自blog.csdn.net/insist_hui/article/details/80282567