| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 549 人关注过本帖
标题:continue
只看楼主 加入收藏
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
结帖率:90%
收藏
已结贴  问题点数:10 回复次数:7 
continue
#include "stdio.h"
#include <iostream>

int main(void)
{
    double pi=3.14159;
    int r;
    double area;
    for(r=1;r<=10;r++)
    {
        area=pi*r*r;
        if(area>100.0)
        {
            continue;
        }
    }
    printf("r=%d,area=%g\n",r,area);   
    system("pause");
    return 0;
}
这个程序我使用单步调试的时候,执行到 area=pi*r*r;之后就会跳转到for(r=1;r<=10;r++)了,不检查下面的if语句了,这是什么原因
搜索更多相关主题的帖子: continue include system double return 
2015-02-01 15:04
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:3 
你怎么知道没检查if语句,在满足条件时本来就要跳到for,不满足条件也要进行下次for循环,而且你的continue似乎有问题,是否应该改为break

一片落叶掉进了回忆的流年。
2015-02-01 18:48
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
收藏
得分:0 
回复 2楼 诸葛欧阳
我是测试的continue,程序的结果显示的没有比较if语句的
2015-02-01 20:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
你的跟蹤器有問題,用自己的原始方法調試,不要依賴調試器。

授人以渔,不授人以鱼。
2015-02-01 21:55
lovegh
Rank: 5Rank: 5
来 自:图灵学院
等 级:职业侠客
威 望:3
帖 子:117
专家分:311
注 册:2015-1-23
收藏
得分:3 
首先有个错误,double这种浮点数据,要比较的话,别直接比计较,最好设个进度,用无限趋近某个值来判断相等。这是其一,其二,你说没有执行continue,直接在continue下个断点,然后Debug看有没有进来不就知道了。其三常量定义最后用const,要么就定义为宏。其四,根本就没用到C++的I/O流,你包含这个干啥#include <iostream>。其五遇到问题多思考,一般编译器或电脑是不会有问题的,最有可能有问题的是你的程序。OVER。

别老是写代码,要多陪妹子,多了解老婆大人,血淋淋的教训。
2015-02-02 00:09
lovegh
Rank: 5Rank: 5
来 自:图灵学院
等 级:职业侠客
威 望:3
帖 子:117
专家分:311
注 册:2015-1-23
收藏
得分:0 
精度不是进度,OVER

别老是写代码,要多陪妹子,多了解老婆大人,血淋淋的教训。
2015-02-02 00:09
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:3 
这个肯定是判断了的。然后定不定义的无所谓。问题在于 把你的那个#include <iostream>和 system("pause")去掉。
然后将你的打印语句添加在循环里面,外面的也放着。这样你就能很清楚的看到变化了。
希望对你有帮助。
#include "stdio.h"
#define pi 3.14159
 int main(void)
 {
     int r;
     double area;
     for(r=1;r<=10;r++)
     {
         area=pi*r*r;
         if(area>100)continue;
         printf("r=%d,area=%lf\n",r,area);

     }
         printf("r=%d,area=%lf\n",r,area);
     return 0;
 }
输出结果:
r=1,area=3.141590
r=2,area=12.566360
r=3,area=28.274310
r=4,area=50.265440
r=5,area=78.539750
r=11,area=314.159000

授人以鱼,不如授人以渔
2015-02-02 10:55
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
这个肯定是判断了的。然后定不定义的无所谓。问题在于 把你的那个#include <iostream>和 system("pause")去掉。
然后将你的打印语句添加在循环里面,外面的也放着。这样你就能很清楚的看到变化了。
希望对你有帮助。
#include "stdio.h"
#define pi 3.14159
 int main(void)
 {
     int r;
     double area;
     for(r=1;r<=10;r++)
     {
         area=pi*r*r;
         if(area>100)continue;
         printf("r=%d,area=%lf\n",r,area);

     }
         printf("r=%d,area=%lf\n",r,area);
     return 0;
 }
输出结果:
r=1,area=3.141590
r=2,area=12.566360
r=3,area=28.274310
r=4,area=50.265440
r=5,area=78.539750
r=11,area=314.159000

授人以鱼,不如授人以渔
2015-02-02 10:55
快速回复:continue
数据加载中...
 
   



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

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