鱼C论坛

 找回密码
 立即注册
查看: 3293|回复: 7

输出二维数组的有关值

[复制链接]
发表于 2011-5-22 18:09:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#define F "%d,%d\n"
main ()
{
        int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
        printf(F,a,*a);
        printf(F,a[0],*(a+0));
        printf(F,&a[0],&a[0][0]);
        printf(F,a[1],a+1);
        printf(F,&a[1][0],*(a+1)+0);
        printf(F,a[2],*(a+2));
        printf(F,&a[2],a+2);
        printf(F,a[1][0],*(*(a+1)+0));
}
哪里出错了~~~
怎么不是   158,158
                   158,158
                   158,158
                   166,166
                   166,166
                   174,174
                   174,174
                   9,9     呢~~~~~~~~~:Q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-22 18:17:26 | 显示全部楼层
今天长见识了,你想输出什么?你写的代码够狠啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-23 11:02:01 | 显示全部楼层
LZ只要理解以下两点就没什么困难了
1.数组名作函数的参数,将被转换为数组首元素的地址
2.所谓的“二维数组”就是元素类型为一维数组的一维数组。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-5-24 13:57:02 | 显示全部楼层
:o:o:o:o:o:o:o
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-29 10:58:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-29 11:02:47 | 显示全部楼层
本帖最后由 小飞侠 于 2011-5-29 11:04 编辑

viewfile.jpg

你强调的不同是:和书上的原题不一样吗?

电脑不同创建数组时分配的地址不同,结果当然不同喽~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-30 13:06:24 | 显示全部楼层
小逸 发表于 2011-5-22 18:17
今天长见识了,你想输出什么?你写的代码够狠啊

是不是只有这个printf(F,a[1][0],*(*(a+1)+0));
的输出和书本上一样?
这应该是因为系统和编译器的原因。
你看我用vc6.0的,见图片
只要输出的地址相同就行,不用太纠结,这个例子只是想让大家更好的理解一下,如何表示二维数组
QQ截图20110530130419.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-2 18:02:42 | 显示全部楼层
写的好乱啊~~~~~又输出值又输出地址地
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-28 10:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表