标题:为什么去掉“else break”就执行不了?
取消只看楼主
zhengzhihui
Rank: 2
来 自:汕头大学
等 级:论坛游民
帖 子:36
专家分:57
注 册:2009-7-4
结帖率:90%
已结贴  问题点数:3 回复次数:1 
为什么去掉“else break”就执行不了?
这是该问题的题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
 
代码如下:

#include<stdio.h>
void main()
{int n,i;
printf("\nPlease enter the number:\n");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
  {
  while(n!=i)
    {
    if(n%i==0)
       {
         printf("%d*",i);
         n=n/i;
        }
      else break;          /*为什么这里要加上“else break”,去掉后就执行不了? 这就是我的问题*/    }
}
printf("%d",n);
getch();
}

[ 本帖最后由 zhengzhihui 于 2009-8-11 17:30 编辑 ]
搜索更多相关主题的帖子: else break 
2009-08-11 17:29
zhengzhihui
Rank: 2
来 自:汕头大学
等 级:论坛游民
帖 子:36
专家分:57
注 册:2009-7-4
得分:0 
必须要结束while循环。
二三楼的解释很对,明白了。
2009-08-11 18:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-282284-1-1.html




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

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