Рубрики

C | Строка | Вопрос 9

Рассмотрим следующий сегмент программы на C:

char p[20]; 

char *s = "string"

int length = strlen(s); 

int i; 

for (i = 0; i < length; i++) 

    p[i] = s[length — i]; 

printf("%s", p);

Выход программы есть? (GATE CS 2004)
(A) Гиртс
(B) Гирт
(C) строка
(D) не выводится на печать

Ответ: (Д)
Объяснение: Давайте рассмотрим нижнюю строку внутри цикла for.
p [i] = s [длина — i];
Для i = 0 p [i] будет s [6 — 0], а s [6] равно '/ 0 ′
Таким образом, p [0] становится '/ 0'. Неважно, что входит в p [1], p [2]… .. так как P [0] не изменится при i> 0. Ничего не печатается, если мы печатаем строку с первым символом '/ 0'

Тест на этот вопрос

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

C | Строка | Вопрос 9

0.00 (0%) 0 votes