1樓:
分析如下:
main()函式裡面的max是實參,而select()函式的max是形參,雖然實參和形參的變數名都是一樣的 ,
但是實參和形參是兩個不同的儲存單元,在main()中的max的值是10,在傳參過程中,實參的max傳值給
形參的max,因此形參的max的初始值是10,但是當select()函式執行完成後,這個形參max的記憶體空間
也就被系統**了,然後返回到main()函式繼續執行下面的語句,但是實參max的值在這一過程中,它的值始終沒有發生變化,所以,輸出max的值仍然是10。你可以在select()函式中加幾條列印語句,看看select()函式的max的值的變化情況。
2樓:風若遠去何人留
這裡max是作為引數傳遞給select的.
而傳遞方式為傳值呼叫,而不是傳指標呼叫.
所以在select中,對引數max的修改, 都不會影響主函式中的實參max值.
呼叫後, max依然為初始值10.
3樓:學不安道
傳引數的位址到select(),函式裡面,也可以把select()函式做成有返回值得函式
網頁鏈結
一道c語言讀程式題,一道c語言讀程式題 include stdio h main int k 4,m 1,p p func k,m printf d, ,p p func
首先輸出結果是 8,17 第二,你上面這個程式編譯不了的,有2個問題 1 函式的返回值型別沒寫 2 func 函式體放在了main 函式後面且沒再main 函式中宣告。第三,註釋該程式 include 標頭檔案 void main 修改1 增加了void int func int a,int b 第...
求解C語言程式設計題,C語言程式設計題求解
int main else goto again for i 0 i 100 i 僅供參考 冬一又二分之一 include include include int get3num int a,int b,int n int i int sum 0 for i 0 iif a i 3 0 b sum ...
C語言程式題
看迴圈,這裡的迴圈應該是j 在這種情況下,迴圈裡面的語句會越界,出現記憶體錯誤 for j i 1 j 5 i 請把它改成 for j i 1 j 5 j 還發現乙個錯誤,這裡必須用大括號括起來 for i 1 i 5 i 前面兩個for語句都沒大括號啊,最後排序的第乙個for也沒大括號。你能不能先...