C言語 三項演算子(条件演算子) ? :

三項演算子は1行で短く書けるので、if文の代わりにたまに使う。大きな違いは文ではなく式だということ。Cではマクロなどに使うのに適していると思う。式のかたちは以下のようになる。
式1 ? 式2 : 式3
式1が真なら式2となり、偽なら式3となる。

三項演算子

#include <stdio.h>
int main(void)
{
    int num1 = 500;
    int num2 = 300;
    printf("%dと%dでは%dが小さいです。\n",
          num1, num2, num1 < num2 ? num1:num2);
    printf("%dと%dでは%dが大きいです。\n",
          num1, num2, num1 > num2 ? num1:num2);
    int age = 11;
    printf("あたなは%sですね。\n",age < 20 ? "未成年":"成人");
    return 0;
}
数値だけでなく、文字列も扱うことができる。
500と300では300が小さいです。
500と300では500が大きいです。
あたなは未成年ですね。


C言語 ANSI C89 Meadow & MinGW GCC 目次はこちら