| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 333 人关注过本帖
标题:求解个数组问题,看似简单,似乎不简单
只看楼主 加入收藏
and80506
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-7-1
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
求解个数组问题,看似简单,似乎不简单
今天碰到个问题,一直没找到问题所在。先把代码贴出来:
#include<iostream.h>
int i,j,a[2][2];
void main()
{
for(i=0;i<3;i++)
 for(j=0;j<3;j++)
 { a[i][j]=5;cout<<a[i][j]<<endl;}
}
咋看起来这段代码预期显示结果会是
5                           
5
5
5
5
5
5
5
5
不知是否是我的VC编译器问题,运行结果是
5
5
5
5
5
4358224
单步调试,发现执行到i=1,j=3后直接到i=5,j=0跳出循环了。
假如修改成a[i][j]=1;的话,执行到i=1,j=3后变成i=1;j=0,进入死循环了。
各位如果编译运行正常的话可能就是我编译器的问题了,也许还有种可能是我没找到里面隐藏着什么东西,小弟新手。
搜索更多相关主题的帖子: 求解 
2010-04-17 01:50
ybjx1987
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:26
专家分:175
注 册:2008-11-26
收藏
得分:5 
#include<iostream.h>
int i,j,a[2][2];
void main()
{
for(i=0;i<3;i++)
for(j=0;j<3;j++)

{ a[i][j]=5;cout<<a[i][j]<<endl;}
}
a[2][2]的范围是a[0][0]~a[1][1]下面for语句的i,j会等于3,从而使a[i][j]超出数组定义的范围。可以把数组定义为a[3][3].
2010-04-17 04:11
and80506
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-7-1
收藏
得分:0 
一直以为a[2][2]范围是a[0][0]~a[2][2],看来是我基础不扎实。 上面两位多谢了。
2010-04-17 09:22
快速回复:求解个数组问题,看似简单,似乎不简单
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032970 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved