回 帖 发 新 帖 刷新版面

主题:请求一个很简单的问题,本人初学C++

int x=9;
for (int i=2;i<x;i++)
    if (x%i!=0)
       m=1;
    else
       {break;m=0;}
为什么运用时只进行了一次运算,而没有继续下去,问题很简单,不过仍请
各位大哥指教

回复列表 (共3个回复)

沙发

int x=9;
for (int i=2;i<x;i++)
    {
       if (x%i!=0)
       m=1;
       else
       {break;m=0;}
     }//for语句要用{}括起来
 

板凳

楼上的 这里没加{}是没有错的 
 不过推荐加上{}会比较好
  个人认为这个程序  这个程序是没有错的
程序会执行两次循环就结束
 首先 当i=2时 if条件 满足  m=1
    当i=3的 if 条件不满足 执行 else 中的break;跳出循环 后面m=0不执行
 我猜楼主可能是看到结果m=1所以认为只循环只进行了一次
  楼主把m=0放到break前面就可以看到正确结果了

3 楼

同意楼上的

我来回复

您尚未登录,请登录后再回复。点此登录或注册