看板 Grad-ProbAsk 關於我們 聯絡資訊
有點不太能理解 pass by value result and pass by name 可否像各位請教一下 以下題目 小弟解決的是否有誤 //Gloval var int i,a[2]; void p(int x,int y){x++;i++;y++} int main() { a[0]=3;a[1]=5;i=0; p(a[i],a[i]); printf("%d\n",a[0]); printf("%d\n",a[1]); system("pause"); return 0; } 如果是使用 Pass by value result 會印出 4 , 5 如果是使用 Pass by name 會印出 4 , 6 請問這樣有錯嗎 還有是否有詳細一點的解釋 (很少使用這兩種參數傳遞 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.105.105 ※ 編輯: learnerQQ 來自: 140.123.105.105 (01/11 17:24)
FY4:p(a[i],a[i]); 如果是這樣的話 是cal by value 是5,5吧 01/11 21:01
FY4:傳進去是a[0],a[0] 即使i++ 變的還是a[0] 01/11 21:03
FY4:call by name 想成我要用"值"的時候 都要在去重拿最新的 01/11 21:06
FY4:所以是4,6 一些拙見 .. 01/11 21:07