请教for语句

home_smart 2010-12-20 10:30:53


for(; *poin_1 != *poin_2; poin_1++, ch_chang++)
{
*poin_1 = change;
}



其中poin_1和poin_2为字符指针变量,在调试的时候发现*point1和*point2指向同一个字母如Z但就是不退出循环(point1和point中所装的是不同的地址)这是为什么呢?
...全文
70 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluejays 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 home_smart 的回复:]
谢谢楼上的各位,刚好仔仔细细调试了
确实是自己代码的逻辑有问题
写成如下形式问题解决了
for(; (*poin_1++=++ch_change)!= *poin_2;)
;
[/Quote]
这里有三个动作:ch_change自增、给poin_1赋值、比较poin_1和poin_2
要注意先后次序
home_smart 2010-12-20
  • 打赏
  • 举报
回复
谢谢楼上的各位,刚好仔仔细细调试了
确实是自己代码的逻辑有问题
写成如下形式问题解决了
for(; (*poin_1++=++ch_change)!= *poin_2;)
;
prohibit 2010-12-20
  • 打赏
  • 举报
回复
还是贴全部代码吧,感觉是逻辑错误
就想叫yoko 2010-12-20
  • 打赏
  • 举报
回复
单步调试看看吧, 不然就到for循环前面打印*poin_2, 再在for循环里面打印*poin_1
Dstnoe 2010-12-20
  • 打赏
  • 举报
回复
可能是你 逻辑上的问题吧,最把好整段端代码都粘过来,我们也好调试啊
bluejays 2010-12-20
  • 打赏
  • 举报
回复
*poin_1 != *poin_2
这里比较的是内容而不是地质,所以point1和point中所装的是不同的地址没关系,只要他们指向的内容一样,就应该退出循环。
LZ再看看代码吧,或者多贴一点出来?
home_smart 2010-12-20
  • 打赏
  • 举报
回复
代码中的第三行敲错了哈,应该是 *poin_1 = ch_chang;

69,371

社区成员

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

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