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