| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3012 人关注过本帖
标题:关于break怎么跳不出循环
只看楼主 加入收藏
liu0919
Rank: 2
等 级:论坛游民
帖 子:124
专家分:35
注 册:2013-5-13
结帖率:87.8%
收藏
已结贴  问题点数:10 回复次数:5 
关于break怎么跳不出循环
程序代码:
#include<stdio.h>
int main()
{
    int x,i,p,j;
        printf("enter you want number\n"); 
        while(1)
        {scanf("%d",&x);
                 if(x=='q')
        break;//这个break怎么跳不出这个循环,来结束。
                for(p=0;p<=x;p++)
        {   j=p;
            for(i=2;i<j;i++)
            {
             if(j%i==0)
             break;
             }
               if(i==j)
                printf("%d\t",j);
        }
         puts("\n enter q over.");
        }
    
    return 0;
    }
搜索更多相关主题的帖子: color 
2013-08-06 21:45
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:7 
刚才看帖没看完,所以楼下的答案是正解,之所以编辑掉刚才的话,是觉得自己太大意了,也免了楼主被误导了!
另外补充一下,while里面的条件尽量少用1,如果循环体里面代码错了,未免会让新手百思不得其解

[ 本帖最后由 love云彩 于 2013-8-7 00:08 编辑 ]

思考赐予新生,时间在于定义
2013-08-06 21:50
蔡梓锋
Rank: 4
等 级:业余侠客
帖 子:106
专家分:202
注 册:2013-4-20
收藏
得分:0 
晕,我觉得二楼说的是错的。是这样吗?首先q不对应ASC11;你输入 if(x=='q')永远不成立。所以你要接受字符才可以。
你把代码改成/* Note:Your choice is C IDE */
#include<stdio.h>
int main()
{
    int i,p,j;
    char x;
        printf("enter you want number\n");
        while(1)
        {scanf("%c",&x);
                 if(x=='q')
        break;//这个break怎么跳不出这个循环,来结束。
                for(p=0;p<=x;p++)
        {   j=p;
            for(i=2;i<j;i++)
            {
             if(j%i==0)
             break;
             }
               if(i==j)
                printf("%d\t",j);
        }
         puts("\n enter q over.");
        }
   
    return 0;
    }
收到的鲜花
  • love云彩2013-08-06 23:22 送鲜花  5朵  

加油加油!
2013-08-06 22:11
蔡梓锋
Rank: 4
等 级:业余侠客
帖 子:106
专家分:202
注 册:2013-4-20
收藏
得分:0 
回复 楼主 liu0919
你的想法是对的,break可以跳出死循环的。只是你写的有问题。

加油加油!
2013-08-06 22:12
人_神
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:44
专家分:103
注 册:2013-8-1
收藏
得分:0 
scanf("%d",&x).只能输入数字,输入字符会产生输入缓冲区堵塞。产生死循环。
2013-08-06 22:14
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
#include<stdio.h>
int main()
{
    int x,i,p,j;
    printf("enter you want number\n");
    while(1)
    {
        scanf("%d",&x);
        if(x=='q')
            break;//这个break怎么跳不出这个循环,来结束。(当你输入113的时候,确实就调成循环了呀,\
        难道你是想用这条语句实现输入q的时候调出循环不成?)
        for(p=0;p<=x;p++)
        {   
            j=p;
            for(i=2;i<j;i++)
            {
                if(j%i==0)
                    break;
            }
            if(i==j)
                printf("%d\t",j);
        }
        puts("\n enter q over.");
    }
    //printf("%d",'q');113
    return 0;
}

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-08-07 00:03
快速回复:关于break怎么跳不出循环
数据加载中...
 
   



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

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