線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:947
推到 Plurk!
推到 Facebook!

詢問++的執行順序

尚未結案
warke
一般會員


發表:19
回覆:32
積分:10
註冊:2004-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-30 14:02:38 IP:218.170.xxx.xxx 未訂閱
各位大大,下面這段程式阿
class t                                                                                        //1
{                                                                                                //2
        static int m (int i)                                                //3
        {                                                                                        //4
                System.out.print(i   ",");                                //5
                return 0;                                                                //6
        }                                                                                        //7
        public static void main (String[] args)                //8
        {                                                                                        //9
                int i = 0;                                                                //10
                i = i     m(i);                                                        //11
                System.out.print(i);                                        //12
        }                                                                                        //13
}                                                                                                //14
輸出結果:
% javac t.java    % java t
1,0
% 
輸出結果為什麼是1,0呢? 小弟想要知道他的流程阿,但是無奈都猜不出來。 小弟的認為是這樣的: 第10行的時候: i = 0 第11行的時候: i因為i 的關係所等式變成 i = 0 0;,而經過i ,所以傳入m()的值是1,因此此時輸出已經出現「1,」 第12行的時候: 把 i 印出來,所以輸出結果是 1,0 請問一下小弟是哪邊出錯了呢?
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-01 06:15:16 IP:203.204.xxx.xxx 未訂閱
因為你今天將i增值傳給m()處理,此時i是1,最後傳回0指定給i所以,當然,i又變回0~ 因為m()傳回的值你最後又指定給i了~並不是你想像的i=i 1 0;粗體是最後才得到而m()的傳回值此時剛好指定給粗體,如下面拆解的意思
 
    i=i  ;//i指定給m(i)後
    i=m(i); //m(i)將0傳回給i
了乎~
系統時間:2024-05-09 4:27:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!