【发布时间】:2022-07-19 21:20:38
【问题描述】:
int **A;
A=(int**)malloc(3*sizeof(int*));
A[0]=(int *)malloc(4*sizeof(int));
A[1]=(int *)malloc(4*sizeof(int));
A[2]=(int *)malloc(4*sizeof(int));
A[3][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
printf("%d ",A[i][j]);
printf("\n");
}
}
这里显示“预期的表达”我该怎么办,请帮帮我。
【问题讨论】:
-
错误信息包含行号。您应该显示完整的确切错误消息。
-
A[3][4]是由赋值运算符分配的int对象(左值),{{1,2,3,4},{1,2,3,4},{1,2,3,4}}不是表达式。它看起来更像是一个初始化程序。 -
A[3][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};这是对已分配数组的不存在字段的赋值(A[3][4],而最大索引为A[2][3]。此外,此语法仅在数组初始化中允许,在分配中不允许.
标签: c