亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我有幾點問題要問,求解

#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>

正在回答

2 回答

replaceMax函數括號中輸入兩個值,第一個值對應arr[],第二個對應alue,你括號中第一個的值是arr1,那arr[]的值當然就是等于arr1的咯

你這個找出arr1[]中的最大值賦值給max有用嗎,最后就吧arr1[]中的數都打印了一遍

0 回復 有任何疑惑可以回復我~

void就是沒有返回值,這個程序不需要返回值,arr[index] = value是返回值?返回值是用return返回的,這個是賦值

2.這是判斷數組的第i個值大不大于max

運算?這就是比較大小啊,你再把數組那章好好看下吧



0 回復 有任何疑惑可以回復我~
#1

lolipop漫 提問者

arr[i]>max,前面int max=arr[0],這個我不懂。舉個例子,當i=1,是不是判斷arr[1]>max,max=arr[0],這個arr[0]是什么值,是arr1里面的10還是arr2[]里的1?當確定arr[1]=41>max,然后賦值給max,輸出標記i,然后再繼續判斷i=2時,arr[2]是否大于>max,此時max的值是arr[1]=41,比他小,不成立,不輸出任何i,直到結束,最后完成arr[index] = value;輸出下標,完成替換。
2015-07-21 回復 有任何疑惑可以回復我~
#2

lolipop漫 提問者

這里我看了下,arr1傳入函數,那么就是用arr1里元素。然后判斷上面那個值最大,完成替換。
2015-07-21 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       927001    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

我有幾點問題要問,求解

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號