Call-по-значению против Call-по-ссылке против Call-по-значению-результат

В настоящее время я делаю назначение с некоторым c-подобным псевдокодом, где меня просят рассказать, что печатают отпечатки, предполагая, что мы используем Call-by-Value, Call-by-reference или call-by-value-result

void main() {                  int f(int a, int b, int c) {
  int x = 3;  int y = 1;         a = b + c;
  int r = f(x, y, x);            b = c - b;
  print(r);                      c = c + a;
  print(x); print(y);            return (a + b + c);
}                              }

Итак, читая эти 3 Call-by, я понял это как:

вызов по значению:
печать r: 4+1+6
печать х: 3
печать у: 1

вызов по ссылке:
печать r: 4+2+7
печать х: 7
печать у: 2

вызов по значению-результату:
печать r: 4+2+7
печать х: 3
печать у: 1

Однако я не уверен, правильно ли это, а если нет, то почему?

0 ответов

Другие вопросы по тегам