C語言,i 2 jiii 最後i和j的值是多少,詳細過程

時間 2021-08-11 18:12:31

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是...