新手求教数组问题

ezstu 2006-01-05 04:38:45
main()
{
static int a[2][3] {{1,2,3},{4,5,6}},i,j;
for(i=0;i<=1;i++)
{
for (j=0;j<=2;j++)
printf("%d",a[i][j]);
printf("\n");
}
}
如果我修改了循环中i和j的值,程序能运行,但显示的结果是错误的,
我想请问在C语言中对数组的下标不作越界检查吗?另外,显示的错误的值从什么地方来的,是谁的值?
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
robertcarlos 2006-01-05
  • 打赏
  • 举报
回复
cunsh(校友录怎么写?求求大家了?) ( ) 信誉:100 2006-01-05 16:47:00 得分: 0


static int a[2][3] = {{1,2,3},{4,5,6}},i,j;


哦类?
RainWindy 2006-01-05
  • 打赏
  • 举报
回复
请先理解C的指针。
xxyifan 2006-01-05
  • 打赏
  • 举报
回复
c是不检查越界的,所以出错以后,我们可能很难找到
错误的值是你访问的非法的地址的值,呵呵
你可以用某种工具看看汇编的代码就知道了
co_diy 2006-01-05
  • 打赏
  • 举报
回复
可以的
自己去写个编译器.
值哪来就不用我说了..
cunsh 2006-01-05
  • 打赏
  • 举报
回复
C语言中对数组的下标不作越界检查
cunsh 2006-01-05
  • 打赏
  • 举报
回复
static int a[2][3] = {{1,2,3},{4,5,6}},i,j;

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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