| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5643 人关注过本帖
标题:if(i%3) continue;什么意啊!
只看楼主 加入收藏
yangt
Rank: 2
等 级:论坛游民
帖 子:49
专家分:20
注 册:2012-11-28
结帖率:61.11%
收藏
已结贴  问题点数:10 回复次数:3 
if(i%3) continue;什么意啊!
程序代码:
main()
{
    int i,n=0;
    for (i=2;i<5 ;i++ )
    {
       do
        {
           if(i%3) continue;
           n++;
        }
        while (!i);
        n++;
    }
    printf("n=%d\n",n);
}
if(i%3) continue;什么意啊!我的理解是i按3取余的值为非零的时候,结束本次循环。如果2按3取余是不是是多少呢?要不要转为整型呢。
while (!i);神马意思啊?是当i的值为非零的时候结束循环体吗?
我一开始以为当i=2和i=4的时候会执行一次n++,所以结果为n=5;运行后不对,n=4。想的头大啦,帮帮小弟吧。

[ 本帖最后由 yangt 于 2014-3-2 17:34 编辑 ]
搜索更多相关主题的帖子: continue 
2014-03-02 17:22
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
收藏
得分:2 
自己printf调试一下,看看怎么走的
2014-03-02 17:49
ksil
Rank: 2
等 级:论坛游民
帖 子:15
专家分:31
注 册:2014-3-1
收藏
得分:4 
do while 循环,if(i%3) continue;n++;意思是执行i%3返回值给do  while(并且执行n++)(continue;为结束本次循环)进行判断,while(!i)意思是返回值为0是执行n++(就是能整除),返回值不为0是返回for循环。其结果n+1-i就是能整除的次数!

新手意见仅供参考

C学习中。。
2014-03-02 17:55
U201010009
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:73
专家分:178
注 册:2013-2-25
收藏
得分:4 
运行结果n=4,调试看了一下,才知道if(i%3) continue;n++;中i%3判断语句为如果i是3的倍数就为真,执行continue;结束本次循环,进入下一个循环,然后while(!i)中判断语句一直是假命题,循环只有一次。新手见解还望指教
2014-03-02 21:32
快速回复:if(i%3) continue;什么意啊!
数据加载中...
 
   



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

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