【发布时间】:2020-02-20 14:21:13
【问题描述】:
我通过查看互联网做了一些事情,但这里缺少的是我的代码
void draw_way(int *arr,int lenght_row,int lenght_column) {
int s1 = 0, s2 = 0;
for (s1 = 0; s1 < lenght_row; s1++)
{
for (s2 = 0; s2 < lenght_column; s2++) {
if (*((arr + s1 * lenght_row) + s2) == 1)
{
printf("S");
}
else if (*((arr + s1 * lenght_row) + s2) == 2)
{
printf("G");
}
else if(*((arr + s1 * lenght_row) + s2) == 3)
{
printf("#");
}
else if (*((arr + s1 * lenght_row) + s2) == 4)
{
printf(".");
}
}
printf("\n");
}
它实际上是在打印一个迷宫,但这并不重要。我想了解的是为什么我必须使用*((arr + s1 * lenght_row) + s2),为什么如果我使用*(*(arr+s1)+s2) 'lenght_row' 会做什么,这不起作用。
【问题讨论】:
标签: c pointers multidimensional-array