慕后端6597853
2018-10-27 10:52
?
???/?
因为arr2[0]=1,替换的arr1[]数组中的最大值,arr1中的最大值是第二个元素,所以被替换掉成为1了。
void replaceMax(int arr[],int value)
{
int max = arr[0];
int index = 0;
int i;
for(i=1;i<5;i++)
{
if(arr[i]>max)
{
max=arr[i]; //将数组中较大的数赋值给max
index = i; //记录当前索引
}
}
arr[index] = value;
划线部分就是循环比较,如果比MAX大就赋值给MAX,下一个数组中的值再次比较,历遍数组arr找出最大值,并记录数组当前下标index,最后把value替代数组arr中的最大值。因为arr1数组被当做参数整个载入上述函数,实际上历遍的是arr1数组,并把arr2数组0号数据替换arr1数组中的最大值。
能问具体点吗?。。。。。。
C语言入门
926024 学习 · 20793 问题
相似问题