我想填充2D数组,这就是我要做的。但是,它会产生编译错误,例如警告:计算的值不使用,我不明白为什么。如果有人可以向我展示问题并解释可以做什么,我将不胜感激。谢谢!
#include <stdio.h>
#include <string.h>
int main()
{
int array1[4][4];
int len = sizeof(array1) / sizeof(array1[0]);
int wid = sizeof(array1[0]) / sizeof(array1[0][0]);
int i, j , z = 0;
//compile error
for(i = 0, i < len; i++)
{
for(j = 0, j < wid; j++)
{
array1[i][j] = z;
}
z++;
}
int a, b;
for(a = 0, a < len; a++)
{
for(b = 0, b < wid; b++)
{
printf("%d", array1[a][b]);
}
}
return 0;
}
您在每个for
语句的初始化部分之后放了一个逗号。您应该放一个半龙。例如,您写了这篇文章:
for(i = 0, i < len; i++)
您需要将其更改为:
for(i = 0; i < len; i++)
另外,您可能需要在数组元素之间打印空间,而每行之后的新线:
for(a = 0; a < len; a++) {
for(b = 0; b < wid; b++) {
printf("%d ", array1[a][b]);
}
printf("n");
}