Рубрики

ВОРОТА | GATE CS 2010 | Вопрос 10

Что печатает следующая программа?

#include

void f(int *p, int *q)

{

  p = q;

 *p = 2;

}

int i = 0, j = 1;

int main()

{

  f(&i, &j);

  printf("%d %d \n", i, j);

  getchar();

  return 0;

}

(А) 2 2
(Б) 2 1
(С) 0 1
(D) 0 2

Ответ: (D)
Объяснение: см. Ниже комментарии для объяснения.

/* p points to i and q points to j */
void f(int *p, int *q)
{
  p = q;    /* p also points to j now */
 *p = 2;   /* Value of j is changed to 2 now */
}

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

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

ВОРОТА | GATE CS 2010 | Вопрос 10

0.00 (0%) 0 votes