请教一下这个程序怎么看

[复制链接]
2988|12
 楼主| 程序会不会 发表于 2011-7-1 21:34 | 显示全部楼层 |阅读模式
#include<stdio.h>
#include<math,h>
void main()
{
    int m,i,k;
    scanf("%d",&m);
    k=sqrt(m);
    for(i=2;i<=k;i++);
     if(m%k==0) break;
    if(i>k)printf("%d is a prime number\n",m);
    else printf("%d is not a prime number\n,m);

}
请问
1,如果if(m%k==0)这个语句为真时 执行了break语句,程序转到什么地方执行了啊?
2,程序里的if....else...是属于for语句里吗
 楼主| 程序会不会 发表于 2011-7-1 21:57 | 显示全部楼层
自己定一下,别沉了 呵呵
lfb112 发表于 2011-7-1 22:03 | 显示全部楼层
确认这个程序没错?
linkasp 发表于 2011-7-1 22:07 | 显示全部楼层
Keil uVision3 有仿真功能哦!!
linkasp 发表于 2011-7-1 22:09 | 显示全部楼层
语法错误!!
 楼主| 程序会不会 发表于 2011-7-1 22:13 | 显示全部楼层
这个程序是书上的例题,我也在TC里试过,结果是正确的 3# lfb112
hgjinwei 发表于 2011-7-1 22:19 | 显示全部楼层
跳出for循环呗
hgjinwei 发表于 2011-7-1 22:19 | 显示全部楼层
看错了,丫for后面还有";"?!
 楼主| 程序会不会 发表于 2011-7-1 22:42 | 显示全部楼层
发的时候敲错了,呵呵,帮我看看程序的流向,刚学 8# hgjinwei
aizaibeida 发表于 2011-7-2 09:34 | 显示全部楼层
确实语法错误
joyme 发表于 2011-7-2 09:37 | 显示全部楼层
如果for语句后面没有";"就很好理解了,break就是跳出for循环
程序应该是判断m是否为素数

如果for后面有";"就是程序写错了
chh44 发表于 2011-7-2 09:46 | 显示全部楼层
10# aizaibeida

break用来跳出循环的,for后面都加了个;自然是有问题啦!要是书上的东西,可能是印刷时印多了一个分号
llp133 发表于 2011-7-2 15:46 | 显示全部楼层
for(i=2;i<=k;i++);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

443

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部