第五題
uj5u.com熱心網友回復:
fun里面的z跟main里面的a是兩個變數,呼叫fun(5.2,a)的時候,相當于做了一個賦值操作,z=a。那么樓主認為修改了z能反作用于a嗎?uj5u.com熱心網友回復:
那不應該等于29嗎,為什么是31呢uj5u.com熱心網友回復:
是不是差了個returnuj5u.com熱心網友回復:
又沒有對a賦值,怎么可能a的值就自己改變了呢?你們的思維好奇怪,都說了a和z是兩個變數了!uj5u.com熱心網友回復:
如果我寫了一個程式,發給你了,你自己拿去修改了,那么我手上的程式也變得跟你改過后的程式一樣嗎?uj5u.com熱心網友回復:
那什么情況下輸出的才是29uj5u.com熱心網友回復:
說什么鬼,,,?????
uj5u.com熱心網友回復:
a的值傳給z之后,a和z之間再沒有任何關系了,你怎么修改z,都與a無關,還不明白嗎?uj5u.com熱心網友回復:
好吧好吧,,,,明白了uj5u.com熱心網友回復:
要想讓函式能改變a值,可以改為傳參考, fun(int x, int y, int &z) {}也可以考慮傳指標,fun(int x, int y, int *z) ,但傳指標的話,呼叫陳述句要改為fun(5,2, &a),函式內賦值寫法要改為 *z = x*x +y*y;
uj5u.com熱心網友回復:
太高深了,看不懂呀。。
uj5u.com熱心網友回復:
函式傳遞引數的形式有傳值、傳址、傳參考,各有不同意義和用途,如果還不明白,去看書。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/19088.html
標籤:基礎類
上一篇:大一c語言
