此代码片段用于生成模式。
显示“数组类型具有不完整的元素类型”错误!哪里出了问题?
int main(){
int n;
char a[][];
scanf("%d",&n);
for (int i =0; i<n; i++)
{
for (int j=0; j<i; j++)
{
if(i>=j)
a[i][j] = "#";
else
a[i][j]=" ";
}
}
return 0;
}
最佳答案
这个数组的声明
char a[][];
无效。每个维度的元素数量未知。
如果是 C 程序,则可以使用可变长度数组。例如
int main( void )
{
int n;
scanf("%d",&n);
char a[n][n];
//...
考虑到这个条件
if(i>=j)
没有意义,因为内部循环的定义如下
for (int j=0; j<i; j++)
^^^^
也就是说,在循环体内,i 始终大于 j。
关于c++ - 数组类型的元素类型不完整,无法进行模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38724704/