逗號運算子有乙個我不明白的示例問題?

發布 科技 2024-06-09
14個回答
  1. 匿名使用者2024-01-29

    首先,弄清楚 k=i-- 和 k=--i 之間的區別。 k=i-- 是先給 k i 的值,然後減去 1。 k=--i 是將 i 減去 1,然後給 k 賦值

    d=a--,先給d乙個值,d=2後,a--,a=1)e=d--,如上,先給d的值給e,e=2,然後d--,d=1)f=--e,這個不一樣,先--e,所以e=1,再f=e,這樣f=1)

    結果:a、d、f、e均為1。

    然後解釋為什麼表示式的值是 1。

    逗號表示式的優先順序最低!

    所以上面的等式首先是賦值語句。 那麼也可以寫成以下形式:

    最後,將此表示式的值放在最後。 如。

    if(1,0)

    printf("ok!");

    您將永遠不會看到輸出正常。 由於 (1,0) 的值取最後乙個值,因此此表示式的值為 0

    好吧,不是嗎?

  2. 匿名使用者2024-01-28

    你必須知道 - 這個符號的含義。

  3. 匿名使用者2024-01-27

    最後乙個逗號表示式是 f=--e,d=a--,運算是 d=a=2,那麼 a=a-1=1,運算 e=d--, 是 e=d=2,然後 d=d-1=1,運算 f=--e,即先 e=e-1=1,然後 f=e=1,所以最後 a、d、f、e 和表示式都是 1。 請記住,--a 是第乙個,當表示式完成時,分配 a-1 以給出 -1,然後是

  4. 匿名使用者2024-01-26

    首先要做的是明確整個逗號表示式的值等於最後乙個表示式的值,並且逗號的優先順序從左到右最低。

    自動遞增和自動遞減運算子的功能是將變數的值增加 1 並減去 1

    d=a--,先把a的值賦給d,即d=2,然後a再次減去自身,即a=1,以同樣的方式,e=d--,e=2,d=1; 而f=--e,是e先自減法,即e=1,然後把e的值賦給f,即f=1,當f=1時,最後乙個表示式為真,整個表示式的值為1;

    注意:在這個問題中,您需要清楚地知道每個運營商的優先順序!

    注++i; 和 i++; 兩個表示式之間的差異。

  5. 匿名使用者2024-01-25

    如下:

    1.逗號表示式。

    操作過程是從左到右逐一評估表示式。

    2.逗號表示式作為乙個整體的值是最後乙個表示式(即表示式n)的值。

    3.逗號運算子。

    的優先順序是所有運營商中最低的。

    示例1:(a = 3, b = 5, b+ = a, c = b* 5),找到逗號表示式的值?

    答案:40。

    前兩個表示式只是賦值,從第三個表示式 b+=a 開始,即 b=b+a,即 b=5+3,b=8,找到最後乙個表示式 c=b*5=8*5=40因為逗號表示式的值是最後乙個表示式的值,所以整個逗號表示式的值是40,其他變數的最後乙個值是:a=3,b=8,c=40。

  6. 匿名使用者2024-01-24

    這稱為逗號表示式,也稱為“順序計算運算子”。 逗號表示式的一般形式是表示式 1、表示式 2

    解決逗號表示式的過程是先解決表示式 1,然後再解決表示式 2。 整個逗號表示式的值是表示式 2 的值。

    x=6,x+1,y=6,x+y)

    首先給 x 賦值 6,然後做 x+1(x 沒有變化),然後做 y 6,最後做 x+y,結果是 12,因為 x、y 都是 6

    y=6,y+1,x=y,x+1) 首先為 y 賦值。 y+1 運算,同樣 y 還是 6,然後給 y 賦值 x,x 是 6,最後做 x+1 運算,結果為 7

  7. 匿名使用者2024-01-23

    (x=6,x+1,y=6,x+y)

    只有兩個賦值會更改 x,y 的值。 所以 xy:6。

    y=6,y+1,x=y,x+1) 只有兩個賦值會改變 x,y 的值。 所以y

    xy:6。逗號運算子可以檢視聯接,加法不變,只有賦值會! 和 ++

  8. 匿名使用者2024-01-22

    13和8,逗號操作以逗號為界,先是第乙個表示式,然後是第二個表示式,依此類推,最後乙個表示式的值是整個操作的結果。

  9. 匿名使用者2024-01-21

    f p 代表攻擊。

    複利的最終價值是bai

    f p,5%,10)代表每年5%和10年到期的複利終值

    即第一年。

    DAO 復合最終值 = x (1+5%)

    第二年的復合最終值 = x (1+5%)

    第 10 年複利的最終值 = x(1+5%) 10

    您可以檢視複利終值係數表。

  10. 匿名使用者2024-01-20

    x=4,y=11;

    第三行和第四行都是逗號表示式,但有區別;

    在第三行中,x=a+1 是逗號表示式的第乙個公式,b+6 是第二個公式;

    所以 x=a+1=4;

    第四行的 A+1 和 b+6 形成逗號表示式,逗號表示式的值支付給 y,所以 b+6 等於 11 支付給 y。

  11. 匿名使用者2024-01-19

    我認為可能是這樣的:x=4,y=11

    逗號似乎是最低級別,因此 x=a+1=4 和 b+6=11 不會儲存。

    y=b+6=11 逗號表示式的最後乙個表示式的結果為整數的結果。

    參考,參考,不一定對。

  12. 匿名使用者2024-01-18

    8 在 C 中,多個表示式可以用逗號分隔,其中用逗號分隔的表示式的值單獨結算,但整個表示式的值是最後乙個表示式的值。

    比如你的這個:

    i=(10-2,8/2);

    i=10-2,8/2;

    對於第一行**,有兩個表示式,用逗號分隔,所以最終值應該是最後乙個表示式的值,即 8 2,即 4,所以 i=4。 對於第二行 **,那麼還有兩個表示式,在本例中,兩個表示式是 i=10-2 和 8 2(因為賦值運算子優先於逗號運算子),所以最後乙個表示式的值也為 4(最後乙個表示式的值),但 i=8。

    如果有:j=(i=10-2,8 2);

    那麼它的值:i=8(10-2的值),j=4(8 2的值)在8 2之後對你沒用。

    喜歡:。。。。。。int j;

    j = 8;

    這裡 6 2 的值是 3,但它沒有分配任何變數,所以沒有使用得到的 3,它只是乙個正常的計算。

  13. 匿名使用者2024-01-17

    如上所述,逗號表示式首先計算內括號,然後計算外括號,在逗號之前,然後在逗號之後。

    x=4*5,x*5),x+25)

    步驟 1 計算 x=4*5,然後 x 得到分配的值 x = 20,步驟 2 計算值為 100 的 x*5

    那麼括號的整數值是 100,x = 20 [注意,在計算 x*5 時,x 不會重新分配]。

    步驟 3 計算 x + 25,值為 20 + 25 = 45 [x 未重新分配]。

    在這種情況下,逗號表示式等效於 (100,45),顯然整個表示式值 = 45

  14. 匿名使用者2024-01-16

    C 中的逗號表示式從左到右依次為:k=3*2=6,k+2=8,表示式返回 8。

    逗號表示式用法:

    使用順序點時,繫結順序為從左到右,用於順序計算,整個表示式的值為最後乙個表示式的值。

    示例:main()。

相關回答
8個回答2024-06-09

輸出 a、b、c 和 d 的值,你會發現它們依次是 4、8、9 和 1。 為什麼會這樣? >>>More

6個回答2024-06-09

它們有三種型別,分別是冒號:區域運算子、逗號:聯合運算子和空格:交集運算子。 >>>More

22個回答2024-06-09

int count=0;

count++;自加法的結果被賦值給 count,所以它是 count 的值變化,你輸出 count++ >>>More

20個回答2024-06-09

1. |它是邏輯運算中的“或”,邏輯關係為:true||False = 真 True ||True = 真 False |True = 真 False |False = 假。 >>>More

11個回答2024-06-09

前兩個程式是 ++i 和 i++ 之間的區別。

i。就是將i加一,然後進行運算,如i = 0,j = 0; j = ++i;最後 i = 1;j = 1;因為 i 加 1 先執行,j 在執行中賦值; >>>More