Методи за предаване на параметри

Учих за езиците за програмиране в училище и учителят ми разглеждаше методите за предаване на параметри, можех да разбера Call-by-Value и Call-by-Reference. Въпреки това все още не разбирам как работи обаждането по резултат, копиране в копиране, извикване по име и обаждане по нужда.

Тук имам един пример в псевдокод, който ни даде, имам отговорите, но все още не мога да разбера как работи.

void test() {
  int a[5]; 
  int i;
void f(int x) {
   a[i] = 9;
   i++;
   i = x;
}
  i = 1;
  a[1] = 7;
  a[2] = 4;
  f(a[i]);
// print i and a[1]
 }

какви биха били стойностите на [1] при всяко извикване? Знам, че [2] ще остане същият.


person amenocal    schedule 10.12.2013    source източник


Отговори (1)


Мисля, че това ще ви помогне да разберете по-добре:

http://courses.cs.washington.edu/courses/cse505/99au/imperative/parameters.html

person SoulRayder    schedule 11.12.2013