| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1460 人关注过本帖
标题:狠简单的指针问题,求解...
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
都说我开始看错了,以为那是指针跟数组元素运算,才说那不是指针问题。

授人以渔,不授人以鱼。
2011-08-14 14:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这种求模为零的算法,一开始偏移量为零,就多了一个可能是不希望的回车,要消除这种现象,其实还要多写代码。如果用这个来统计行数……

授人以渔,不授人以鱼。
2011-08-14 14:20
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:0 
回复 31楼 TonyDeng
30楼刚刚和我纠结老半天了 ~ 他的意思是 你说的楼主听不懂~ 楼主不能理解 他让你 把你要讲的解释清楚~~~
刚刚他和我在QQ里争论了 一开始我以为我错了 过了老半天~ 我悟了~~原来我说的不够清楚~ 你就把你说的改下 改成大家都看的懂的 最好从基础讲起 让楼主看的懂~~~

君生我未生 我生君以老
2011-08-14 14:23
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
以下是引用TonyDeng在2011-8-14 13:38:55的发言:

我都说我错了,这是指针问题,很巧妙的指针算法,学吧。
额 ~这不就说清楚了麽  一开始 我都搞得莫名其妙

[ 本帖最后由 风生钧起 于 2011-8-14 14:25 编辑 ]

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-08-14 14:23
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
以下是引用TonyDeng在2011-8-14 14:20:07的发言:

这种求模为零的算法,一开始偏移量为零,就多了一个可能是不希望的回车,要消除这种现象,其实还要多写代码。如果用这个来统计行数……
嗯我也清楚了

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-08-14 14:24
QQ346957135
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:148
专家分:658
注 册:2011-8-9
收藏
得分:0 
楼主看看这个,它们的差值是1而不是4
图片附件: 游客没有浏览图片的权限,请 登录注册

A real warrior never quits.
2011-08-14 14:31
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
那我后来说的看得懂吗?

a[0]是数组的入口,好比坐标原点。p是运动鼠标,一开始令p=a[0],即从原点开始出发,每次p++移动一个元素。判断的if,是p-a[0],即指针的当前位置与原点的距离,因为步进是1,所以如果这个距离能被4整除,则表示走了4的整数倍,此时应该输出一个回车作为换行。

又因为一开始偏移量p-a[0]=0,也能被4整除,所以一开始就多了个回车。

p++的增幅为1,因为p是指向int的指针,与数组a的元素相同,所以这个指针向前移动1个单元的意思是地址增加1个int数据长度,在这里不用管int到底是多少字节的,只要p的指向类型和a的元素类型相同就可以了。记住:指针p+1是p的地址加它所指向的数据类型的占位长度,不是地址加整数1。刚开始我看错了a[0]是元素的时候,就以为那是指针减第一个元素的整数值(当时是1),才说如果那是10就减出负数,指针越界了。现在其实不是这样,它真是指针与入口地址的运算,不存在那个问题。

授人以渔,不授人以鱼。
2011-08-14 14:37
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
嗯 这块 我很清楚
指针移动这块
昨天 拣分的时候看着就不对劲
琢磨你会在后面解释清楚
不想 有人杀出来 也没说清楚 就说你胡说八道 这个汗

[ 本帖最后由 风生钧起 于 2011-8-14 14:47 编辑 ]

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-08-14 14:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我是不习惯这种指针写法,少看这种代码,如果是写惯这种风格的人就很容易看出。我毕竟十多年没写C程序了,留下的只有思想,具体的一些细节,一时真的会出错。

授人以渔,不授人以鱼。
2011-08-14 14:57
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:0 
哈哈楼主 开心死了 这么多人帮他解决问题~~ 还有楼上刚刚提出来的多了一个回车的问题~ 简单点可以写个do while语句;如果不喜欢这种风格 那就加个控制条件
图片附件: 游客没有浏览图片的权限,请 登录注册

君生我未生 我生君以老
2011-08-14 15:02
快速回复:狠简单的指针问题,求解...
数据加载中...
 
   



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

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