Рубрики

ВОРОТА | Gate IT 2007 | Вопрос 33

Рассмотрим программу ниже на гипотетическом языке, который допускает глобальную переменную и выбор вызова по ссылке или вызова по значению методами передачи параметров.

int i ;

program main ()
{

    int j = 60;

    i = 50;

    call f (i, j);

    print i, j;

}
procedure f (x, y)
{           

    i = 100;

    x = 10;

    y = y + i ;

}

Какая из следующих опций представляет правильный вывод программы для двух механизмов передачи параметров?
(A) Вызов по значению: i = 70, j = 10; Звоните по ссылке: i = 60, j = 70
(B) колл по значению: i = 50, j = 60; Звоните по ссылке: i = 50, j = 70
(C) колл по значению: i = 10, j = 70; Звоните по ссылке: i = 100, j = 60
(D) вызов по значению: i = 100, j = 60; Звоните по ссылке: i = 10, j = 70

Ответ: (D)
Объяснение: Вызов по значению: будет передана копия параметров, и любые выполненные обновления будут действительны только для этой копии, оставляя исходные значения без изменений.

Вызов по ссылке: будет передана ссылка на исходные переменные, что позволит функции манипулировать исходными переменными.

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

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

ВОРОТА | Gate IT 2007 | Вопрос 33

0.00 (0%) 0 votes