next up previous contents
Next: switch statement Up: 判斷 Previous: if...else if...else Statement   Contents

運算子 ?:

  1. 語法:如果 Exp1 true 執行 Exp2,否則執行 Exp3,變數 var 等於執行結果。當 if...else 語法中的執行敍述只有一個時,可以使用運算子 ?: 簡化程式。
    var = Exp1 ? Exp2 : Exp3;
    
  2. 範例
    [dywang@dyw219 zzz]$ vim if5.c
    [dywang@dyw219 zzz]$ cat if5.c
    #include <stdio.h>
    
    main() {
        int a, c;
    
        printf("Enter an integer: ");
        scanf("%d", &a);
    
        c = ( a>0 ) ? a : -a;
        printf("a = %d, c = %d\n", a, c );
    }
    
  3. 編譯成功
    [dywang@dyw219 zzz]$ gcc -o if5 if5.c
    
  4. 執行結果一
    [dywang@dyw219 zzz]$ ./if5
    Enter an integer: 10
    a = 10, c = 10
    
  5. 執行結果二
    [dywang@dyw219 zzz]$ ./if5
    Enter an integer: -10
    a = -10, c = 10
    



De-Yu Wang 2019-08-14