Рубрики

C | Викторина С — 113 | Вопрос 1

Вывод следующей программы в предположении, что числа хранятся в форме дополнения 2.

#include<stdio.h>

int main()

{

   printf("%c\n", ~('C' * -1));

   return 0;

}

Предоставлено Sowmya.LR
(А) Б
(Б) А
(C) Ошибка компилятора
(D) C

Ответ: (А)
Объяснение: выполнено без каких-либо сообщений об ошибках или предупреждений, и вывод для приведенного выше кода
'B'
Вышеуказанные процессы программы, как показано ниже
Шаг 1:
Сначала ('C' * -1) обрабатывается
ASCII-значение 'C' равно 67, и оно умножается на -1 как
67 * (-1) = -67
Шаг 2:
Двоичное представление -67 — 10111101
Побитовое отрицание 10111101 становится (01000010) 2 = (66) 10
Шаг 3:
66 — значение ASCII «B»
Итак, ~ ('C' * — 1) = 66 и, следовательно, выход вышеупомянутой программы — B
Тест на этот вопрос

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

C | Викторина С — 113 | Вопрос 1

0.00 (0%) 0 votes