回覆列表
-
1 # ktsiu43173
-
2 # rsipr2209
第一、如果一個函式中出現了多出return語句,那麼函式會執行首先遇到的那個return語句(不一定是寫在最前面的)。第二、關於你所說的返回多個值的問題,因為C語言也是採用的按值傳參的方式,所以只能返回一個返回值。如果需要得到多個返回值,那麼可以採用指標做為函式引數(具體做法參見那個經典的交換兩個數的操作),另外,如果引數個數太多,還是建議用結構體……呃,其實C++裡可以用按引用傳引數的方式搞定,只是我對C不是很熟習,貌似C中不能那樣搞。我曉得4種引數傳遞方式(按值傳遞,按引用傳遞,傳指標,複製恢復),你自己可以在網上找找具體的操作方法和各種方式間的區別,認真領略下……共同學習了。呵呵
方法一:設定全域性變數,這樣在形參中改變全域性變數,在實參中也會有效。所以可以在形參中改變多個全域性變數的值,那麼在實參中就相當於返回多個值。方法二:如果用陣列名作為形參,那麼改變陣列內容,比如排序,或者進行加減運算,回到實參時依然是有效的。這樣也會返回一組值。方法三:可以利用指標變數,這個原理和方法二是一樣的,因為陣列名本身就是陣列首元素的地址。就不多說了。用結構體封裝不同型別資料,或者用陣列表示同類型資料,然後返回結構體指標或者陣列名,本質都是用指標來返回多個引數方法四:如果學過C++,可以引用引數