用C语言表示[数组名]是什么意思?

时间:2019-02-19 07:20:29

标签: c

#include <stdio.h>

int main()
{   
    int array[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    printf("%d\n", array[1][-2]); // 2
    printf("%d\n", (-1)[array][5]);  // 3
    printf("%d\n", -1[array][5]);  // -9

    return 0;  
}

[array]是什么意思?为什么输出3? -9?谢谢!

1 个答案:

答案 0 :(得分:1)

在C中,给定两个表达式E1E2,其语法为:

E1[E2]

完全等同于:

E2[E1]