c语言中多维数组的问题#c语言

#c语言
#include<stdio.h>
int main()
{
int i,g;
int b[2][3];
b[1][1]=1;
for(i=0;i<2;i++)
{
for(g=0;g<3;g++)
{
printf("%-5d",b[i][g]);
}
printf("\n");
}
return 0;
}

运行结果
0 0 29
0 1 0

我想要询问结果第一行第三列为什么会有一个29,想要解决

因为你这个数组是局部变量,你没有对它进行初始化,它的值就是不确定的,什么都有可能。

普通局部变量的初始值是那块内存原来的值,不一定是0
要想默认是0,改为全局变量或静态局部变量

你这数组里都没有赋值呀 输出都是随机的 只是给[1][1]赋值为1了