1樓:匿名使用者
j = (++i)+(++i)+(++i)的執行順序是:
1、從左向右數,第一個(++i),執行完畢後,記憶體中i為32、第二個(++i),執行完畢後,記憶體中i為43、第三個(++i),執行完畢後,記憶體中i為54、5+5+5賦給j,記憶體中j為15
所以最後結果i為5,j為15
2樓:驀然回首時
i的初始值是2
j = (++i)+(++i)+(++i);是將(++i)+(++i)+(++i)的結果賦值給j
對於不同的編譯器, (++i)+(++i)+(++i)執行的順序可能不同
但對於本題不影響,我們就按從左往右的順序繼續吧剛編譯了下,發現是這麼算的
第一步計算:(++i)+(++i)
優先括號,i=4, (++i)+(++i) == 4 + 4 == 8
第二步計算:8 + (++i)
j = 8 + 5 = 13
3樓:季子_林
每個編譯器都不一樣的,寫**最好不要這麼寫,很容易出錯。按照自己的邏輯寫就好。
編譯好後,切換到編譯完的彙編,就可以知道他是怎麼運算的了。
把i移到cpu暫存器,inc兩次。就是4,自加1次,就是8,再將i inc一次,就是8+5 =13.
i=5, j=13
4樓:匿名使用者
i=5;j=12;
第一次i++後i=3,第二次i++ 後i=4,第三次i++後i=5,所以j=3+4+5=12
5樓:郝在益
j=12,
i=5,
i依次變為3.4.5
c語言中((j++||k++)&&i++)是什麼意思
6樓:12345額時代
是一條賦值語句,zhidao=左邊是變數k,右邊是表示式,操作方法如下:
1、早c語言中,i++的意思是先進行表示式運算,再進行自增運算。
2、從結果來看,把i++的運算過程拆分開,等效於i=i+1,可以看到運算結果是一致的。
3、但是在表示式運算過程中,i++會先進行表示式運算,然後才會進行自增運算。
4、根據執行結果可以看到b=j;賦值運算結束之後j=j+1,即j進行自增運算。
5、而++i的意思是先進行自增或者自減運算,再進行表示式運算。
6、通過運算結果可以發現,如果僅從i的值來看,++i和i++最終的i值是一樣的,都是i自增加了1.。
7樓:華夏沉默
j與k進行或運算,(若j不為0,則或運算的結果為1,或運算以後j自加1,k不變,因為j不為0就可判斷或運算結果為1,不需要對k判斷;若j為0,則或運算後,j和k的值都自加1。)
j和k或運算的結果(0或者1)在與i進行與運算(若或運算的結果為0,則與運算的結果為0,i的值不進行自加1操作,因為0和任何數與都是0,不需要再對i判斷了;若前面或運算的值為1,則再與i與運算後,i的值自加1)
8樓:匿名使用者
這個是用於判斷的表示式,就是要判斷j++、k++、i++三個表示式的真假值。。。。。
9樓:匿名使用者
兩個邏輯運算,||是或邏輯,&&是與邏輯;i為0,結果為0(假);否則,只要j或k為非0,結果為真;
c語言中「for I 0 i2,i是什麼意思
韓亭晚區溪 for是一種迴圈語句 for應該包含3個語句 可以為空 第乙個是初始化條件 只執行一次 第二個是迴圈條件 滿足條件才會繼續迴圈 第三個是每次迴圈結束後都會執行的語句 一般是變數的增加,也可以不寫,放到迴圈裡寫所以這句話的意思就是 變數i初值賦為 0在i 8的情況下會進行迴圈 每次i自增1...
c語言迴圈語句i 與 i的問題
海南特產大全 我知道你有什麼困惑了,我之前學習c語言看譚浩強那本書上就寫的很清楚,但最後,用到for迴圈裡面我就納悶了,該用i 還是 i呢?其實這兩個都等價於i i 1,只要在for迴圈裡面,不管是哪一個,在之前加1還是之後加1,運算的結果都是以i i 1來計算,所以 以下程式就很好理解了!程式執行...
C語言for i 1 i100 i中的for究竟有什麼作用啊
瑞盛 for i 1 i 100 i 單單這個語句的話 做100個空迴圈,因為for迴圈體為空。先是i 1,再是看i是否小於等於100,如果滿足這個條件,那麼 i 進行下一輪迴圈。如果不滿足,跳出這個迴圈。注意 i 是for 迴圈體執行完後最後才執行的語句,執行順序在for迴圈體後。 黑色 for是...