int a 0 a aSystem out print a為什麼輸出

2021-05-02 05:54:10 字數 1697 閱讀 6671

1樓:左自強

a++的意思是自加一1次,然後又回到原來的值,++a的意思是a+1.所以最後輸出的是0.

2樓:匿名使用者

a++是a的自增

int a =a++;意思是將a++表示式的值賦值給a(a++就是先賦值後運算)

所以a++表示式的值是0把它賦值給a,所以a的值為0.

3樓:匿名使用者

執行步驟為這樣的

int a = 0

a = a++ 可以執行步驟是先賦值給a 然後++ a = 1 然後才執行++但是呢++之後並沒有再次賦值給a

所以列印的時候a= 0

4樓:匿名使用者

編輯原理的問題...在系統執行時..先調值並沒有賦值..賦值放在執行的最後一步...

5樓:

因為a=a++是先把a的值先執行再加的,如果是a=++a輸出就是1了

6樓:秋風掃走廊

a=a++;

可分解為;

int b=a;

a++;

a=b;

7樓:匿名使用者

如果輸入++a就是1了

8樓:

a=a++ 的順尋

1:先返回a (0)

2: 執行++ a為1

3: 在賦值 a=a(0)

所以為0

int a=10; int b= a++; system.out.print(a);. system.out.print(b); a為什麼是11,b10是

9樓:匿名使用者

a++的順序是,先使用值,再計算,

所以**可以解析為:

int a=10;

int b=a;

a=a+1;

所以a值為11,b為10,

如果用b=++a;

則a,b都是11

10樓:匿名使用者

a之所為11是因為在賦值給b以後做了一次累加

b之所為10是因為在a=10的時候賦值給了b

11樓:滄海雄風

b=a++ 先把a值賦值給b 然後a自加 因此 b=10 a =11

如果是 b= ++a的話 那麼是先執行自加 然後賦值給b a,b兩個都是11

這個東西 考試必考 都考爛了

int a=1, b=2;int c=a+b++; system.out.print(c++);system.out.print(c+a);

12樓:菜鳥學c加加

剛開始a = 1, b = 2;經過int c = a+b++;後 a = 1,b=3, c=3因為b++是先輸出後加1,然後第一個輸入是3,因為c=3先輸出後加1,此時a=1, b=3, c=4,所以第二個輸出為5.

13樓:匿名使用者

c=a+b++ = 1+2 = 3

所以第一個輸出是 3

輸出後執行 c++ 變成 c=4 ,所以 c+a = 5所以第二個輸出是 5

14樓:匿名使用者

第一個輸出:5

第二個輸出:6

int a 0,b 0,c 0 c a a 5a b,b 3 printfd,d,d n ,a,b,c 執行過程是怎麼的 詳細些

if a b,b c,c d 逗號表示式與加減乘除本質上是一樣的,它的求值是從左向右依次對表示式求值,整個表示式的結果取逗號表示式中最後一個表達的的結果,如果非零,就會使 if 成立 依照上面的理論 c a a 5 a b,b 3 的執行順序是這樣的 1 首先分兩塊,逗號前面的是第一塊,先執行,逗號...

C語言中,int a 3,b 0a a b a中, a具體定義是什麼 為什麼得出來是

是非運算,參與 運算的量是真,結果為假 參與運算的量為假,結果為真c語言版規定 1為真,0為假 但對於變數,權非零即為真,0為假 所以 a 3 a表示假 a a b a 這個整體是與運算,有一個為假 整個結果就為假 在c語言中是邏輯非的意思,即為0或者是非0,題中a 3,所以 a就是0了 c語言裡i...

C語言中。inta1,b0,c1執行語句bac後,a,b,c

或運算,而且是左結合,b為真,整個表示式就為真了,不再繼續運算,也就是 a和 c沒有運算,表示式的結果就出來了。後首先根據運算子優先順序和結合性。b a c 然後先算 b,此時 b 1,為true,於是不需要專算 後的內容了。屬 因為 true 任意表示式 true。注意,運算子優先順序不代表計算優...