これは if (x < 0) x = -x; と同じ動作をします。 この論理演算式の値(真か偽か)は使われません。x < 0 && x = -x;
| 
/*
** プログラム名: kadai28
** 動作: 論理演算式の評価順序
** 作者: 自分の名前、学籍番号
** 日付: 今日の日付
*/
#include <stdio.h>
int main(void)
{
    int x = 0, y = 0;
    /* 1回目 */
    if (++x < 2 || ++y >= 2) {
        printf("x=%d,y=%d\n", x, y);
    }
    /* 2回目 */
    if (++x < 2 || ++y >= 2) {
        printf("x=%d,y=%d\n", x, y);
    }
    /* 3回目 */
    if (++x < 2 || ++y >= 2) {
        printf("x=%d,y=%d\n", x, y);
    }
    return 0;
}
 | 
しかし実際の出力は上のようにはなりません。 その理由を考察して、メールで tokoiまで送ってください。 Subject: は kadai28 としてください。x=1,y=1 x=2,y=2 x=3,y=3