為什么一定要索引,第十三行。
#include <stdio.h>
void replaceMax(int arr[],int value)
{
? ? int max = arr[0];
? ??
? ? int i;
? ? int idex;
? ? for(i=1;i<5;i++)
? ? {
? ? ? ? if(arr[i]>max)
? ? ? ? {
? ? ? ? ? ? ?max=arr[i]; ? ? ? ? ?//將數(shù)組中較大的數(shù)賦值給max
? ? idex=i; ? ? ? ? //記錄當(dāng)前索引
? ? ? ? } ? ? ? ? ? ? ? ?
? ? } ?
? ? arr[idex] = value;
}
int main()
{
? ? int arr1[] = {10,41,3,12,22};
? ? int arr2[] = {1,2,3,4,5};
? ? int i;
? ? replaceMax(arr1 , arr2[0] ?); //將數(shù)組arr1和數(shù)組arr2的第一個元素傳入函數(shù)中
? ? for(i=0;i<5;i++)
? ? {
? ? ? ? printf("%d ",arr1[i]); ? ? ? ? ? ? ? ?
? ? }
? ? return 0; ? ?
}
2015-09-18
不用索引的話,for循環(huán)會使i的值變?yōu)?,這個時候得到的就不是最大的那個值了,而會出現(xiàn)越界訪問,使得值為0
2015-08-12
不用索引的話,你怎么知道是哪個元素?