假设我有如下代码片段所示的C ++:
int A[3] = {0, 2, 1};
void f(int x, int y) {
x++; A[1]--; y++;
print(x, y, A[0], A[1], A[2]);
}
void main() {
f(A[0], A[A[1]]);
print(A[0], A[1], A[2]);
}
Run Code Online (Sandbox Code Playgroud)
我想通过A[0]和A[A[1]]在f()使用电话的名称。
在这种情况下,打印出的结果应该是:(1 1 1 2 1 1 2 1这是由我们的老师提供的编程语言课提供的)。但是,我无法理解y1 in f呼叫print()。是不是y用绑定A[A[1]]=A[2]=1在启动后A[1]--改变A[A[1]]=A[1]=1?之后,y++不会使y等于2?
此外,为了在A[1]之后成为2 A[1]--,必须以某种方式将其递增1,这就是正确的y++含义y++=A[1]++=2。因此,在f呼叫中print() …