Рубрики

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

#include <stdio.h>

int main()

{

    int i = 5, j = 10, k = 15;

    printf("%d ", sizeof(k /= i + j));

    printf("%d", k);

    return 0;

}

Предположим, что размер целого числа составляет 4 байта. Каков вывод вышеуказанной программы?
(А) 4 1
(Б) 4 15
(С) 2 1
(D) Ошибка времени компиляции

Ответ: (Б)
Пояснение: Основная тема программы лежит здесь: sizeof (k / = i + j) . Выражение не оценивается внутри оператора sizeof . Оператор sizeof возвращает sizeof (int), потому что результатом выражения будет целое число. Поскольку выражение не оценивается, значение k не будет изменено.
Тест на этот вопрос

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

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

0.00 (0%) 0 votes