实在是弄不明白啊!!!!!

equalsai 2009-06-04 07:21:56
在编写矩阵乘法的过程中,为了初始化一个矩阵写了如下代码,
int a[2][1],b[1][2],c[2][2];
int i,j;
int t = 0;
for(i = 0;i<=2;i++)
for(j = 0;j<=1;j++)
{
t = t+1;
a[i][j] = t;
}

for(i = 0;i<=2;i++)
{
for(j = 0;j<=1;j++)
{
cout<<a[i][j];
}
cout<<endl;
}

结果输出来的不是需要的
1 2
3 4
5 6
而是这样一个结果
1 3
3 1
0 2

这是为什么啊?是程序的逻辑有问题,还是编译器有问题啊?
希望高手能给与解答!!!!
...全文
91 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxh_dream 2009-06-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mengde007 的回复:]
a[2][1]总共是几行几列你总该清楚吧;

C/C++ code
#include<iostream>


using namespace std;

int main()
{
int a[3][2];
int i,j;
int t = 0;
for(i = 0;i <3;i++)
for(j = 0;j <=1;j++)
{

t = t+1;
a[i][j] = t;
}

for(i = 0;i <3;i++)
{
for(j = 0;j <=1;j++)
{
cout <<a[i][j];

[/Quote]
  • 打赏
  • 举报
回复

void main()
{
int a[3][2],b[1][2],c[2][2]; //a数组越界了,申请大一点
int i,j;
int t = 0;
for(i = 0;i <=2;i++)
for(j = 0;j <=1;j++)
{
t = t+1;
a[i][j] = t;
}

for(i = 0;i <=2;i++)
{
for(j = 0;j <=1;j++)
{
cout <<a[i][j]<<" ";
}
cout <<endl;
}
}
pathuang68 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mengde007 的回复:]
a[2][1]总共是几行几列你总该清楚吧;

C/C++ code
#include<iostream>


using namespace std;

int main()
{
int a[3][2];
int i,j;
int t = 0;
for(i = 0;i <3;i++)
for(j = 0;j <=1;j++)
{

t = t+1;
a[i][j] = t;
}

for(i = 0;i <3;i++)
{
for(j = 0;j <=1;j++)
{
cout <<a[i][j];

[/Quote]
jack_wq 2009-06-04
  • 打赏
  • 举报
回复
mark
amossavez 2009-06-04
  • 打赏
  • 举报
回复
楼主的数组越界了!!!
mengde007 2009-06-04
  • 打赏
  • 举报
回复
a[2][1]总共是几行几列你总该清楚吧;

#include<iostream>


using namespace std;

int main()
{
int a[3][2];
int i,j;
int t = 0;
for(i = 0;i <3;i++)
for(j = 0;j <=1;j++)
{

t = t+1;
a[i][j] = t;
}

for(i = 0;i <3;i++)
{
for(j = 0;j <=1;j++)
{
cout <<a[i][j];
}
cout <<endl;
}

return 0;
}

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧