Рубрики

C | Операторы | Вопрос 23

Предсказать вывод следующей программы?

# include <stdio.h>

int main()

{

    int x = 10;

    int y = 20;

    x += y += 10;

    printf (" %d %d", x, y);

    return 0;

}

(А) 40 20
(Б) 40 30
(С) 30 30
(D) 30 40

Ответ: (Б)
Пояснение: Основное утверждение, о котором идет речь, это «x + = y + = 10». Поскольку в операторе два оператора + =, ассоциативность входит в картину. Ассоциативность составных операторов присваивания справа налево, поэтому выражение оценивается как x + = (y + = 10).
Тест на этот вопрос

Рекомендуемые посты:

C | Операторы | Вопрос 23

0.00 (0%) 0 votes