求大神告诉我这题的答案,速求!!
c#吧
全部回复
仅看楼主
level 1
你套呀我 楼主
读程序写出程序结果及得出该结果理由
protected void Page_Load(object sender, EventArgs e)
     {
         int[] myarray = { 1, 4, 5 };
         Response.Write(myarray[0] + "<br/>");
         change(myarray);
         Response.Write(myarray[0] + "<br/>");
     }
     public void change(int[] arr)
     {
         // both of the following changes will affect the original variables:
        arr[0] = 888;
         arr = new int[5] { -3, -1, -2, -3, -4 };
         Response.Write(arr[0] + "<br/>");
     }

2011年04月28日 02点04分 1
level 1
1
-3
888
2011年04月28日 03点04分 2
level 1
你套呀我 楼主
得出这个结果的理由是神马啊?? 要理由的~~[扯花]
2011年04月28日 03点04分 3
level 1
第二个,因为arr的指向已经成了重新实例化的那个了。
第三个,数组参数是作为引用传入的,arr[0]=888这段,只是改变了arr[0]指向,而没有改变arr[0]本身的位置。所以会影响到原来位置上的myarray[0]
我描述的可能不清楚吧……
这些东西需要有指针的概念才能理解。

2011年04月28日 03点04分 4
1