我有幾點問題要問,求解
#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里面是怎么運算的?舉個清晰的數字代入運算過程。謝謝?。?/p>
2015-07-21
replaceMax函數括號中輸入兩個值,第一個值對應arr[],第二個對應alue,你括號中第一個的值是arr1,那arr[]的值當然就是等于arr1的咯
你這個找出arr1[]中的最大值賦值給max有用嗎,最后就吧arr1[]中的數都打印了一遍
2015-07-21
void就是沒有返回值,這個程序不需要返回值,arr[index] = value是返回值?返回值是用return返回的,這個是賦值
2.這是判斷數組的第i個值大不大于max
運算?這就是比較大小啊,你再把數組那章好好看下吧