按值调用结果的伪代码示例

时间:2016-03-19 22:16:50

标签: parameters parameter-passing

这个类似C的伪代码会返回以下代码。在此代码中,假设incrementAll的参数使用call-by-value-result。谢谢你的帮助。

void incrementAll (int val1, int val2, int val3) {
  val1 += 1;
  val2 += 1;
  val3 += 1;
}
void main() {
  int save = 1;
  int list[] = {1, 2, 3, 4, 5};
  incrementAll(save, list[save], list[list[save]]);
   for (int i=0; i < listLength; i++) {
            printf("%d ", list[i]);
    }
    printf("\n");
}

1 个答案:

答案 0 :(得分:0)

使用Call be value结果,输出将为13445,如在按值调用结果时,首先将数组值复制到局部变量,在函数调用结束时,将更改后的值复制回原始值参数。但它不是C的特色。