#include<stdio.h>
int main()
{
	int arr[4] = { 0 };//假设我们需要存储4个变量,在4个变量里面求出最大值
	int i = 0;
	while (i < 4)
	{
		scanf("%d", &arr[i]);
		i++;
	}
	//假设我们要存储n个变量,在n个变量中求出最大值
	//就会是在初始化i变量后面,用for循环来依次存储n个变量
	//for(i=0;i<10;i++)----->可以是小于10,也可以是小于其他的数字,具体看你要存储多少个变量
	//{scanf("%d",&arr[i]);}
//求最大值
	int max = arr[0];
	i = 1;
	while (i < 4)
	{
		if (arr[i] > max)
		{
			max = arr[i];
		}
		i++;
	}

	//相当是一种打擂台的方式一样,我们假设第一个数就是最大值   
	//比如我可以随机的输入四个数   22 44 66 33
	//当我们假设第一个数字22是最大值时,那么max=22
	//我们进入到求最大值的while循环中,当i=1;
	//arr[1]=44,而44大于22时,max=22,i++再次进入循环,以此类推
	printf("%d", max);
}

以上就是我们求最大值的一个简单代码了

当然,我们在做一个最大值的程序时,可能会遇到一个这个问题

//我们在开始开辟一个数组时可能会忘记指定数组的个数
int arr[]={0};
int i=1;
for(i=0;i<10;i++)
{
scanf("%d",&arr[i];
}

当我们用vs来运行一遍时我们会发现

他会告诉我们stack around variable arr was vorrupted也就是变量arr周围的栈已损坏,程序会崩溃

当我们没有指定数组的个数来贸然访问,这个错误就叫做越界访问,它超出了数组访问的界限 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐