回覆列表
  • 1 # lanfengz1

    c語言中,條件運算子的法則:

    由高到低是:!(非),&&(與),||(或)

    &&左邊為0則不看右邊運算,||左邊為1不看右邊!

    例:

    main()

    {

    int a=1,b=2,c=3,d;

    d=!b>a&&c||c>2

    printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d);

    }

    執行結果:a=1

    b=0

    c=3

    d=1

    程式執行說明:先執行!b>a即0>a,結果為0(b=0)

    再執行0&&c結果為0,執行c>2結果為1

    0||1結果為1

    因為執行順序為右結合,所以將整個表示式的結果給 d為1

    }

    條件運算子:

    (表示式1)?(表示式2):(表示式3)

    運算規劃:如果表示式1為真,返回表示式2的結果,否則返回表示式3的結果

    例如:

    A=1,B=2

    (A>B)?A:B

    返回值為2

    注意表示式是右結合的.

    例:

    A=1,B=2,C=3

    (A>B)?A:B?C:B

    相當於(A>B)?A:(B?C:B)

    返回值為3

  • 中秋節和大豐收的關聯?
  • 吸奶器裡殘留的奶變成粉紅色是怎麼回事?