猿问

二维数组怎么用for定义,比如这个有什么不对的?

 #include<stdio.h>
#define n 3
#define m 3
int main()
{
 int a[n][m],h,s;
 for(s=0;s<3;s++)
 {
  for(h=0;h<3;h++)
   scanf("%3d",&a[h][s]);
 }
}

 

1565797464
浏览 1940回答 5
5回答

Xiao_Gang

建议体会这两种方法的不同,或各自特点,(结合变量的生死考虑)

Xiao_Gang

再提一句,在使用变量前若没有初始化,会带来很大麻烦

Xiao_Gang

你把 int a[n][m]换到main() 以前去试试(对应第一种思路),或者在你定义了 a 之后写一个循环给每个元素赋值为0(对应第二种思路)

Xiao_Gang

你所使用的局部变量是没有初始化的(只有全局变量会自动初始化)。解决的基本思路:1、将a定义为全局的,2、初始化a

海草

数组a没有初始化,也就是a指针没有地址
随时随地看视频慕课网APP
我要回答