Рубрики

C | Основы указателя | Вопрос 11

#include<stdio.h> 

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

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

/* 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 */
}

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

C | Основы указателя | Вопрос 11

0.00 (0%) 0 votes