int n=10,a[n];

int n=10,a[n];
n不是已经被赋值了吗?为什么是错的
数组t
*t++表示什么?

【1】int n=10,a[n];这种写法不是所有的编译器都支持,因为数组定义时的方括号里面的数不是下标,而是指定数组大小的一个常数2,用来指定为数组分配空间。如果你想用变量来定义数组的大小,你可以使用动态内存分配的方法,比如malloc或者new。

【2】数组t是一个指向数组第一个元素的指针,*t++表示先取出t指向的那个元素的值,然后将t加一,指向下一个元素。这是一种常用的遍历数组的方法。

不是所有的编译器都支持 a[n] 这种变量的方式
*t++
表示t指向的那个数字+1