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
Однако я не уверен, правильно ли это, а если нет, то почему?