#include<stdio.h>
void main()
{
int a[][][]={{{1,2,3},{5,8,9}},{5,1,2},{5,6,9},55};
printf(a[1][1][1]+a[2]);
}
为什么没有通过?
……………………………………………………………………
楼主,你真的明白什么叫做三维数组吗?
你之前不是学C的吧?看这个样子应该是学的脚本语言?PHP还是Python?或者说是ruby?
总之有一点需要注意
int a[]
这个里面,a 的类型是 int[],a[0]的类型是int
int a[][]
这个里面,a 的类型是 int[][],a[0]的类型是int[],a[0][0]的类型是int
int a[][][]
这个里面,a 的类型是 int[][][],a[0]的类型是int[][],a[0][0]的类型是int[],a[0][0][0]的类型才是int
你初始化的时候是这么写的:
int a[][][] = {……你不感觉奇怪吗?
a的第一个元素确实是int[][]型,第二第三个怎么就成了int[]型了?第四个干脆直接成了int型……
并且最主要的最主要……C语言的数组需要一个长度!并且必须是常量的长度!否则你只能使用指针!