#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周围的栈已损坏,程序会崩溃
当我们没有指定数组的个数来贸然访问,这个错误就叫做越界访问,它超出了数组访问的界限