你寫的程序,函數(shù)調(diào)用前,數(shù)組元素初始化為 全 0。
站在用戶的角度思考問題,與客戶深入溝通,找到江州網(wǎng)站設(shè)計與江州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋江州地區(qū)。
函數(shù)調(diào)用時,函數(shù)內(nèi) 有循環(huán) 語句,執(zhí)行:
vals[i] = 1;
把所有元素 賦新值為 1。所以輸出 1。
----
應(yīng)修改:
void findMax(int vals[],int *m) // 返回m要用指針
{
int i;
*m = vals[0];
printf("findMax輸出結(jié)果:\n");
for (i = 0; i MAXELS; i++)
{
if (vals[i] *m) *m = vals[i];
printf("vals[%d] = %d\n", i, vals[i]);
}
printf("m = %d\n", *m);
}
函數(shù)調(diào)用:
findMax(nums, value);
函數(shù)原型聲明:
void findMax(int vals[],int *m) ;
關(guān)于c語言中函數(shù)調(diào)用問題解答如下:
首先如果是編譯的這個代碼那這個函數(shù)肯定被調(diào)用了,讓你覺得沒有調(diào)用是因為while循環(huán)沒有被執(zhí)行。
圖中紅色框內(nèi)代碼p1和p2經(jīng)過賦值p1是肯定大于p2所以不滿足while.的條件直接退出了函數(shù)。
你需要看看要實現(xiàn)啥在改一下。
如果一個函數(shù)要使用參數(shù),它就必須定義接受參數(shù)值的變量。
形式參數(shù)與實際參數(shù)
函數(shù)定義時填入的參數(shù)我們稱之為形式參數(shù),簡稱形參,它們同函數(shù)內(nèi)部的局部變量作用相同。形參的定義是在函數(shù)名之后和函數(shù)開始的花括號之前。
調(diào)用時填入的參數(shù),我們稱之為實際參數(shù),簡稱實參。
必須確認所定義的形參與調(diào)用函數(shù)的實際參數(shù)類型一致,同時還要保證在調(diào)用時形參與實參的個數(shù)出現(xiàn)的次序也要一一對應(yīng)。如果不一致,將產(chǎn)生意料不到的結(jié)果。與許多其它高級語言不同,(是健壯的,它總要做一些甚至你不希望的事情,幾乎沒有運行時錯誤檢查,完
全沒有范圍檢測。作為程序員,必須小心行事以保證不發(fā)生錯誤,安全運行。
賦值調(diào)用與引用調(diào)用
一般說來,有兩種方法可以把參數(shù)傳遞給函數(shù)。第一種叫做“賦值調(diào)用”(call
by
value),這種方法是把參數(shù)的值復(fù)制到函數(shù)的形式參數(shù)中。這樣,函數(shù)中的形式參數(shù)的任何變化不會影響到調(diào)用時所使用的變量。
把參數(shù)傳遞給函數(shù)的第二種方法是“引用調(diào)用”(call
by
reference)。這種方法是把參數(shù)的地址復(fù)制給形式參數(shù),在函數(shù)中,這個地址用來訪問調(diào)用中所使用的實際參數(shù)。這意味著,形式參數(shù)的變化會影響調(diào)用時所使用的那個變量