この右辺全体がひとつの式として評価されます。 すなわち、? の左の式 (y > 0) の値が真(非0)なら、 この式の値は : の左側の式 (y) を評価したものになり、 偽(0)なら : の右側の式 (-y) を評価したものになります。 上の例では、y が正なら y、負なら -y が x に代入されます。 従って y の絶対値が得られます。x = (y > 0) ? y : -y;
| 
/*
** プログラム名: kadai55
** 動作: 最大値を求める
** 作者: 自分の名前、学籍番号
** 日付: 今日の日付
*/
#include <stdio.h>
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
int data[] = { 5, 3, 2, 4, 7, 6, 9, 1, 8, 0 };
int main(void)
{
    int i, max;
    max = data[0];
    for (i = 1; i < 10; i++)
        /* この部分にプログラムを書いてください */
    printf("max = %d\n", max);
    return 0;
}
 |