lolipop漫
2015-07-20 22:56
#include <stdio.h>
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;
}
int main()
{
int arr1[] = {10,41,3,12,22};
int arr2[] = {1,2,3,4,5};
int i;
replaceMax(arr1 , arr2[0] ); //将数组arr1和数组arr2的第一个元素传入函数中
for(i=0;i<5;i++)
{
printf("%d ",arr1[i]);
}
return 0;
}
1 为什么用void类型,arr[index] = value这个不是返回值吗,还是只是执行代码块?
2 if(arr[i]>max)怎么判断的,arr[1]>arr[0]?if里面是怎么运算的?举个清晰的数字代入运算过程。谢谢!!
replaceMax函数括号中输入两个值,第一个值对应arr[],第二个对应alue,你括号中第一个的值是arr1,那arr[]的值当然就是等于arr1的咯
你这个找出arr1[]中的最大值赋值给max有用吗,最后就吧arr1[]中的数都打印了一遍
void就是没有返回值,这个程序不需要返回值,arr[index] = value是返回值?返回值是用return返回的,这个是赋值
2.这是判断数组的第i个值大不大于max
运算?这就是比较大小啊,你再把数组那章好好看下吧
C语言入门
926212 学习 · 20797 问题
相似问题