| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 710 人关注过本帖
标题:被字符串给虐了。。。
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
其实,进入了那个if(),把count的值print出来马上就知道原因。

授人以渔,不授人以鱼。
2012-11-21 21:14
wengege
Rank: 2
等 级:论坛游民
帖 子:148
专家分:93
注 册:2012-7-23
收藏
得分:0 
问题出来了,
代码1:
    unsigned int count = 100;

    for(; count>0; count--)
        ;
    printf("%d\n", count);
    if(count > 0)
    {   
        ;//func   
    }
代码2
unsigned int count = 100;

    while(count--)
      ;
    printf("%d\n", count);

    if(count > 0)
    {   
        ;//func   
    }

代码1在VC里执行无误, 代码2执行错误。 在代码2里从 printf 输出的值看出 count的值是无效的 因为count的作用域只限于while条件里。

打好基础,学会站在巨人的肩膀上!
2012-11-21 21:50
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
while(count--)   不是先判断后做减法的么?

我要成为嘿嘿的黑客,替天行道
2012-11-21 21:53
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
既然是这样的话  那么count就必定会有一个值是0
是0就出了循环体了
while(count--)
{
  if(strstr(AT_Buff, "#)"))
   func
}

这个写法 跟这个无符号减法的陷进是没有关系的把

[ 本帖最后由 zhu224039 于 2012-11-21 21:56 编辑 ]

我要成为嘿嘿的黑客,替天行道
2012-11-21 21:54
wengege
Rank: 2
等 级:论坛游民
帖 子:148
专家分:93
注 册:2012-7-23
收藏
得分:0 
呵呵, 谢谢版主的提议, 这次真是次深刻教训。。。

打好基础,学会站在巨人的肩膀上!
2012-11-21 22:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
在while()的时候,count--是先判断count==0,然后再执行--,此时到了下面if()。写--count就不会出这种问题。再次,其实这种把操作计数连在循环条件中写的风格并不好,不过C程序员都喜欢这种暧昧而且容易出错的风格,无话可说。

授人以渔,不授人以鱼。
2012-11-21 22:00
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
回复 16楼 TonyDeng
嗯 知道了

老大 我有个问题帖子 你帮看看嘛https://bbs.bccn.net/thread-387760-1-1.html

我要成为嘿嘿的黑客,替天行道
2012-11-21 22:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用zhu224039在2012-11-21 22:04:17的发言:

嗯 知道了

老大 我有个问题帖子 你帮看看嘛https://bbs.bccn.net/thread-387760-1-1.html

不弄那些,不插嘴。

授人以渔,不授人以鱼。
2012-11-21 22:13
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
回复 18楼 TonyDeng
你妹

我要成为嘿嘿的黑客,替天行道
2012-11-21 23:04
快速回复:被字符串给虐了。。。
数据加载中...
 
   



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

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