今天我遇到了一种访问数组元素的不同方式。我只是好奇访问数组元素的正确方法是否正确。
这是我的代码,
#include <stdio.h>
int main(int argc, char* argv[])
{
int arr[4] = {4, 5, 6, 7};
printf ("---> %d \n", 2[arr]);
return 0;
}
以下是输出,
---> 6
我以为程序无法编译,但它确实编译了!我尝试在 Linux 和 Windows 上编译它,并且在两者上都运行良好。专家对此有何看法?
最佳答案
这是有效的,因为表达式 a[b]
相当于 *(a + b)
,这意味着您可以交换 a 的顺序
和 b
,加法无关紧要。
关于c++ - 访问C中的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29623671/