| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 492 人关注过本帖
标题:一个有关数组的小小问题,还请大家指教!
取消只看楼主 加入收藏
break0107
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-1-18
收藏
 问题点数:0 回复次数:2 
一个有关数组的小小问题,还请大家指教!
#include "stdio.h"
main()
{
int a[3][4]={{0,1,2,3}, {4,5,6,7}, {8,9,10,11}};
printf("%d\n",a);
printf("%d\n",*a);
printf("%d\n",a[0]);
printf("%d\n",&a[0]);
printf("%d\n",&a[0][0]);
}
在tc下运行后的结果为:
-82
-82
-82
-82
-82
这个-82应该表示的是数组的首地址的值,对于这5个-82,第1,3,5很容易理解,但是第2个和第4个就不好懂了,还请大家帮小弟分析分析,先谢过了!
搜索更多相关主题的帖子: 指教 
2007-01-18 16:11
break0107
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-1-18
收藏
得分:0 
我又进行修改了一下,这下又多了几个输出!这样对比似乎就比较容易看懂了,谢谢大家了,不过我也觉得为什么输出的结果会是负数,如果是溢出,那是为什么溢出呢?还请解释一下!

#include "stdio.h"
main()
{
int a[3][4]={{0,1,2,3}, {4,5,6,7}, {8,9,10,11}};
printf("%d\n",a);
printf("%d\n",a+1);
printf("%d\n",*a);
printf("%d\n",*a+1);
printf("%d\n",*(a+1));
printf("%d\n",a[0]+1);
printf("%d\n",&a[0]);
printf("%d\n",&a[0][0]);
}
运行结果:
-82
-74
-82
-80
-74
-80
-74
-80
-82
-82
2007-01-18 16:44
break0107
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-1-18
收藏
得分:0 
试了一下,果然,用8进制和16进制分别输出了一下发现结果分别是177656和FFAE,这么大的数用int型的十进制整数输出自然会溢出,懂了,谢谢!
2007-01-18 16:57
快速回复:一个有关数组的小小问题,还请大家指教!
数据加载中...
 
   



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

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