问题描述
- C语言二位数组初始化的问题
-
我这有一本书上的解释里面int b[][4]={{0,0,3},{},{0,10}};是正确的,但是习题里面这个int b[][3]={{1,2,3},{},{4,5}};就是错误的;在vc6.0里面输入是前面的是错的,后面的是对的,我想确定下到底哪个是对的。初始化的时候花括号中可以社么都不写吗?谢谢了!
解决方案
可能是编译器的问题吧,在vs2010中以上两种赋值都是正确的。
初始化的时候花括号中什么都不写 例如:
int b[][4] = {}; //也是可以的 二维数组用着比较灵活 关键是你想怎么用了
解决方案二:
在 VS2005 中,以下两个都是正确的:
int b[][4]={{0,0,3},{},{0,10}};
int bb[][3]={{1,2,3},{},{4,5}};
解决方案三:
你要弄清楚 数组的 行列概念,然后 看哪些可以 缺省
解决方案四:
数组的初始化 可以直接初始化赋值 也可以通过执行程序后输入数值初始化
解决方案五:
编译器不同,解释的也不同,两种都对
解决方案六:
编译器能通过是编译器的处理不一样,按标准做 int b[][4]={{0,0,3},{0},{0,10}};就好了
解决方案七:
vs2010 中 int a[][3]={{},{},{}}; 执行代码
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("%dn",a[i][j]);
输出:
0
0
0
.....
解决方案八:
编译器不同,解释的也不同,两种都对
时间: 2024-10-02 04:56:42