新手C编程问题

0 c

谁能解释为什么这段代码的输出是 2?我误以为是3

int array[] = {1, 2, 3};

int *address = array;

array[0] = 2;
array[1] = array[2];
array[2] = *address;

printf("%d\n", array[2]);

return 0;
Run Code Online (Sandbox Code Playgroud)

nol*_*eti 5

这可能是提出此类问题的错误网站。尽管如此,这里是答案: *address指向array[0]你用2填写然后,你把的内容address,这是array[0]=2到数组[2],并打印出来。结果,你得到 2。