本文介绍了错误在用C多维数组程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我做了一个涉及多维数组(它打印字符的多维数组)审查一个小C程序,但是我碰到一个错误来了。
I've made a C program that involves multi-dimensional arrays (it prints a multi-dimensional array of characters) to review a little, but I came across a bug.
我的预期程序输出是:
.
.
.
A
.
.
.
.
.
不过输出我得到的是:
However the output I get is:
.
.
A //Not meant to be 'A' but rather a '.'
A
.
.
.
.
.
我想知道我是如何获得额外的'A'位置[0] [2],我怎么能解决这个问题。
下面是我的code:
#include <stdio.h>
void initArray(char shape[][2]);
main()
{
char shape[2][2];
int i, j;
initArray(shape);
shape[1][0] = 'A';
printf("%c\n%c\n%c\n", shape[0][0], shape[0][1], shape[0][2]);
printf("%c\n%c\n%c\n", shape[1][0], shape[1][1], shape[1][2]);
printf("%c\n%c\n%c\n", shape[2][0], shape[2][1], shape[2][2]);
getchar();
}
void initArray(char shape[][2])
{
int i, j;
for(i = 0; i < 3; i ++)
{
for(j = 0; j < 3; j++)
{
shape[i][j] = '.';
}
}
}
非常感谢你= D
Thank you very much =D
推荐答案
由于您需要循环直到&LT; 2
为形状
声明为定型[2] [2]
Because you need to loop till < 2
as shape
is declared as shape[2][2]
for(i = 0; i < 2;i++)
for(j = 0; j < 2; j++)
这将遍历形状
在行&安培;列 0-1
既包括
This will iterate over the shape
on row & columns 0-1
both inclusive
这篇关于错误在用C多维数组程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!