C語言int a,b 2 a b b b 的值為什麼是9,為什麼不是10

2025-05-28 10:35:22 字數 2893 閱讀 3099

c語言int a,b=2;a=b+(b++)+(++b)的值為什麼是9,為什麼不是

1樓:厚星潭振

你疑惑的應該是(b++)伏敏加了括號為什麼沒有先自增,後計算是吧。

其實這和加括號沒有關缺大枝系,你可以把b++當作乙個仿大函式呼叫來理解,這樣就很明瞭了。

大致是這樣的。

intoperator++(int&

num)int

tempnum;

numnum

return

temp;雖然上面的語法和環境可能不正確,但是其邏輯就是這樣子的。所以不管也沒有括號,總是先賦值,後自增。

2樓:汗拔多昌

b++是先進行計算後給b加1,++b是先給b加1,再進行計算。所以執行到a=b+(b++)b);時相當於a=b+b+(+b),先給b加1則b值為差塌數虛首衫擾3,再加兩個b結果就是9了。

3樓:衷令東郭可

字尾運算是在本計算單位計算結束之後再自加或耐扒巨集自減昌冊。

a=b+(b++)b);

以分號為計算單位,所以在計算時b的值為++b,3,所以為9,b++是在分號後做的此櫻。

4樓:網友

a=b+(b++)b)

中間的b++執褲胡行b=b+1,b變成3,括號的值也胡答攔為3;

後面的++b,同樣執行了b=b+1,因為b已經是3了,所以執行後b變為4,舉敗括號的值為4

5樓:帖戈穆賢

經過頃爛試驗那個括號起乙個運算子的作用。

作用:d=(+a,b++,b++)

d代表的是最後一雀帆漏個內容塊,即b++,括號內前兩個進行先運算轎差得出相應的結果。

c語言中,已知int b=2;則下列表示式值為1的是( ) a.b>1 b.b>b c.b<1 d

6樓:

c語言中,已知int b=2;則下列表示式值為1的是( )1 >b <1 d

您好!我是瞭望教育圈,很高興為您解答!此題答案選a哦!

結果為1 是是關係表示式,首先進行a>b得假值為0,則式子變為!0 &&c ||1 與或非的運算關係為先進行非運算則式了變為 1 &&0 ||1 再進行與運算變為 0 ||1 最後或運算等1。希望我的對您有幫助,謝謝!

c語言中,已知int b=2;則下列表示式值為1的是( ) a.b>1 b.b>b c.b<1 d.!(b=1)

7樓:mono教育

「=」是賦值符號,b=1,即把1賦值給變數b,這個賦值是可以成立的,即賦值表示式b=1的邏輯值為1,對其取反,結果就是0。

d. !b=1)其中b=1,是賦值語句,其結果恆為真,而!

b=1)的值就恆為假,另外這個語句改變了b原來的值,這個不是我們所期望的。所以寫出這樣的程式是非常不應該的。正確的應該是!

b==1)。

設int a=1,b=2,c=4;經過表示式(c=a!=b)&&(a==b)&&(c=b)運算後,a、b和c的值分別是( )

8樓:考試資料網

答案】運派:b

b [解析]因緩隱a==b是不成立的,c=b不被擾悄廳運算,c所獲得的值足表示式'a!=b'的邏輯值。

int+a+=10,b=2,c=0則表示式a&&c?a+b:!b結果為

9樓:

摘要。因為int+a+=10,b=2,c=0則表示式a&&c?a+b:!b結果為12

int+a+=10,b=2,c=0則表示式a&&c?a+b:!b結果為。

因為int+a+=10,b=2,c=0則表示式a&&c?a+b:!b結果為12

數學解題方法總結:1、直接法:根據選擇題的題設條件,通過計算、推理或判斷,,最後得到題目的所求。

2、特殊值法:(特殊值淘汰法)有些選擇題所涉及的數學命題與字母的取值範圍有關;在解這類選擇題時,巨集拍可以考慮從取值範圍內選取某幾個特殊值,代入原命題進行驗證,然後淘汰錯誤的,保留正確的。3、淘凱返汰法:

把題目所給的四個結論逐一代回原題的題幹中進行驗證,把錯誤的淘汰掉,直至找到正確的答案。4、逐步淘汰法:如果我們在計算或推導的過程中不是一步到位,而是逐步進行,既採用「走一走、瞧一瞧」的策略;每走一步都與四個結論比較一次,淘汰掉不可能的,這樣也許走不到最後一步,三個錯誤的結論就被全部淘汰掉了。

盯絕飢5、數形結合法:根據數學問題的條件和結論之間的內在聯絡,既分析其代數含義,又揭示其幾何意義;使數量關係和圖形巧妙和諧地結合起來,並充分利用這種結合,尋求解題思路,使問題得到解決。

如肢團慎果需要的話可以提供你的詳細資訊,我這邊或薯幫你聯絡轄區派出所歷敬民警上門服務

c語言設 a=2,b=6,則表示式(a++)+(b++)的值是_?

10樓:小司

先將a++和b++的值取出來,此時a的值為2,b的值為6。然後計算(a++)b++)其中a++表示先將2賦值給表示式,然後再將a的值加1,所以此時表示式的值為2,a的值變為3。同理,b的值先被表示式取出為6,然後再加1變為7。

因此表示式的值為2+6=8,a的值為3,b的值為7。

11樓:黃道十二宮

首先,表示式中的運算子為加號,表示兩個數相加。這個加號左邊的運算元是(a++)右邊的運算元是(b++)

a++表示先返回a的值2,然後再將a的值加1,即a的值變成了3。所以,表示式中(a++)的值為2。

b++表示先返回b的值6,然後再將b的值加1,即b的值變成了7。所以,表示式中(b++)的值為6。

將(a++)和(b++)的值分別代入原始表示式,得到:(2) +6)將加號左右的值相加,得到8因此,表示式(a++)b++)的值是8

c語言計算的值求改錯,C語言計算 的值求改錯

t t i 2 i 1 這樣 運算時,先算t i 因為t是浮點數,所以t i結果就是浮點數 再除以整數,結果是浮點數 而 t t i 2 i 1 這樣,先算括號中的,i 2 i 1 i是整數,所以,結果還是整數,小數部分會被丟棄,因此,結果總是0 此處變數i是int型的,故子表示式i 2 i 1 必...

c語言求絕對值最大值c語言中絕對值大小的比較

include int main int n,i,a,max scanf d n n scanf d n a if a 0 max a a小於 0是max a,所以max是正數 else max a a不小於0時max a,所以max是正數for i 1 i 0 max因為這四個賦值都是把正數賦值給...

用c語言程式設計求s的值,用c語言程式設計,求S的值S

示例 include int main include void main 用c語言編寫程式,得出1 1 2 1 3 1 100的值 include int main void printf num d n num return 0 include int main 這樣是不更簡潔呢?物聯網校企聯盟...