1234被谁吃了?

ruanjiaohuan 2006-08-05 10:46:50
main()
{int a[3][3]={1,2,3,4,5,6,7,8,9};
printf("result is %d",a);
}
在turboc2.0调试没有错误,运行结果是result is -58
将第3行改成输出a[1][1]=5,a[1][2]=6,a[1][3]=7,a[2][2]=9,
a[2][3]=-28后面就更加不对了。。天啊怎么这么简单的问题都有错误??!!谁教教我?谢谢
...全文
107 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rablwupei 2006-08-05
  • 打赏
  • 举报
回复
输出的是a的地址,因为C把数组名看成是数组的首地址
但a的地址是不定的。。。。
ruanjiaohuan 2006-08-05
  • 打赏
  • 举报
回复
谢谢 问题好多啊 头大。。在求一个2维数组 怎么输出 1 2 3
4 5 6
7 8 9
上面的程序输出是 1 2 3 4 5 6 7 8 9 这个倒象是一维数组啊 楼上2大哥 再教教我去散分
tailzhou 2006-08-05
  • 打赏
  • 举报
回复
a[2][3]=-28

数组越界
tailzhou 2006-08-05
  • 打赏
  • 举报
回复
printf("result is %d",a);

输出的是a的地址

Dong 2006-08-05
  • 打赏
  • 举报
回复
printf("result is %d",a);
-------------------------
这里打印出来的是a指针的地址。

main()
{int a[3][3]={1,2,3,4,5,6,7,8,9};
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
printf("result is %d ",a[i][j]);
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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