Рубрики

Выход программы C | Комплект 20

Предсказать результаты следующих программ на C.

Вопрос 1

int main()

{

  int x = 10;

  static int y = x;

  

  if(x == y)

     printf("Equal");

  else if(x > y)

     printf("Greater");

  else

     printf("Less");

  

  getchar();

  return 0;

}

Вывод: ошибка компилятора
В C статические переменные могут быть инициализированы только с использованием константных литералов. Смотрите этот GFact для деталей.

вопрос 2

#include <stdio.h>

  

int main()

{

  int i;

  

  for (i = 1; i != 10; i += 2)

  {

    printf(" GeeksforGeeks ");

  }

  

  getchar();

  return 0;

}

Вывод: Бесконечные времена GeeksforGeeks

Условие завершения цикла никогда не становится истинным, и цикл печатает GeeksforGeeks бесконечное количество раз. В общем, если в операторе for или while используется счетчик цикла, то безопаснее использовать реляционный оператор (например, для подробностей.

Вопрос 3

#include<stdio.h>

struct st

{

    int x;

    struct st next;

};

  

int main()

{

    struct st temp;

    temp.x = 10;

    temp.next = temp;

    printf("%d", temp.next.x);

  

    getchar();

    return 0;

}

Вывод: ошибка компилятора
Структура AC не может содержать член своего собственного типа, потому что, если это разрешено, то для компилятора становится невозможным узнать размер такой структуры. Хотя указатель одного типа может быть членом, потому что указатели всех типов имеют одинаковый размер, и компилятор может вычислить размер структуры.

Пожалуйста, напишите комментарии, если вы найдете какие-либо ответы / объяснения неправильными, или вы хотите поделиться дополнительной информацией по темам, обсужденным выше

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

Выход программы C | Комплект 20

0.00 (0%) 0 votes