我有幾點(diǎn)問題要問,求解
#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]; ? ? ?//將數(shù)組中較大的數(shù)賦值給max
? ? ? ? ? ? index = i; ?//記錄當(dāng)前索引
? ? ? ? } ? ? ? ? ? ? ? ?
? ? } ?
? ? 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] ?); //將數(shù)組arr1和數(shù)組arr2的第一個(gè)元素傳入函數(shù)中
? ? for(i=0;i<5;i++)
? ? {
? ? ? ? printf("%d ",arr1[i]); ? ? ? ? ? ? ? ?
? ? }
? ? return 0; ? ?
}
1 ?為什么用void類型,arr[index] = value這個(gè)不是返回值嗎,還是只是執(zhí)行代碼塊?
2??if(arr[i]>max)怎么判斷的,arr[1]>arr[0]?if里面是怎么運(yùn)算的?舉個(gè)清晰的數(shù)字代入運(yùn)算過程。謝謝??!
2015-07-21
replaceMax函數(shù)括號(hào)中輸入兩個(gè)值,第一個(gè)值對(duì)應(yīng)arr[],第二個(gè)對(duì)應(yīng)alue,你括號(hào)中第一個(gè)的值是arr1,那arr[]的值當(dāng)然就是等于arr1的咯
你這個(gè)找出arr1[]中的最大值賦值給max有用嗎,最后就吧arr1[]中的數(shù)都打印了一遍
2015-07-21
void就是沒有返回值,這個(gè)程序不需要返回值,arr[index] = value是返回值?返回值是用return返回的,這個(gè)是賦值
2.這是判斷數(shù)組的第i個(gè)值大不大于max
運(yùn)算?這就是比較大小啊,你再把數(shù)組那章好好看下吧