当我在MSVS中运行下面的代码时,编译器给出
“错误1错误C2059:语法错误:'{‘
我确信我声明和初始化的二维数组是正确的。语法错误在哪里?
#include <stdio.h>
#define STUDENTS 3
#define EXAM 4
void printArray(int array[][EXAM]);
int main(void){
int array[STUDENTS][EXAM];
array={ { 77, 68, 86, 73 },{ 96, 87, 89, 78 },{ 70, 90, 86, 81 } };发布于 2013-05-03 23:08:44
您必须在单个语句中声明和初始化该数组。
int array[STUDENTS][EXAM]={ { 77, 68, 86, 73 },{ 96, 87, 89, 78 },{ 70, 90, 86, 81 } };array[0][0] = 77;
...发布于 2013-05-03 23:25:20
在C99中,您可以使用复合文字:
int (*array)[EXAM];
array = (int[STUDENTS][EXAM]){ { 77, 68, 86, 73 },{ 96, 87, 89, 78 },{ 70, 90, 86, 81 } };编辑:正如Graham所说:在这里,您不是在初始化一个预先声明的数组;您是在初始化一个新的数组,然后将其地址分配给一个指针
发布于 2013-05-03 23:10:23
https://stackoverflow.com/questions/16362111
复制相似问题