Рубрики

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

Прогнозировать вывод следующей программы. Предположим, что символы представлены с использованием значений ASCII.

#include <stdio.h>
#define VAL 32

   

int main()

{

    char arr[] = "geeksquiz";

    *(arr + 0) &= ~VAL;

    *(arr + 5) &= ~VAL;

    printf("%s", arr);

      

    return 0;

}

(A) GeeksQuiz
(B) geeksQuiz
(С) Geeksquiz
(D) Geeksquiz
(E) Мусорные ящики Мусорные ящики

Ответ: (А)
Пояснение: Суть вопроса заключается в утверждении: * (arr + 5) & = ~ VAL;
Это утверждение вычитает 32 из значения ascii символа нижнего регистра и, таким образом, преобразует его в верхний регистр. Это еще один способ преобразования алфавита в верхний регистр путем сброса его бита, расположенного со значением 32, то есть 5-го бита из LSB (при условии, что бит LSB находится в позиции 0).
Тест на этот вопрос

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

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

0.00 (0%) 0 votes