回 帖 发 新 帖 刷新版面

主题:bool 的疑惑啊

#include<iostream>
using namespace std;
int main()
{  
    int i,j;
    //bool s=true; //第一个位置
    for(i=3;i<=100;i++){
       // bool s=true//第二个位置
        for(j=2;j<=i-1;j++){ 
            if(i%j==0){
            s=false;
            break;
          }
        if(s)
            cout<<i<<endl;
      }
    }
      return 0;
}         
为什么bool s=true 放在不同的位置 会有不同的结果啊!

回复列表 (共3个回复)

沙发

……囧。

板凳


现在懂了!!呵呵。。。

3 楼

很明显,这道题s的位置应该在第二个位置。 每次判断前要将作为标志的s的值复位,而不能保持上一次判断后的结果。

我来回复

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