加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – while循环,似乎什么也没做?

发布时间:2020-12-16 06:49:36 所属栏目:百科 来源:网络整理
导读:嗨,我正在尝试在C中创建一个带有数字的函数,i,并通过循环运行找到它的倍数来确定它是否是素数,然后确保它不是通过一个素数系列测试.然而,似乎循环甚至没有被贯穿.无论循环在哪里,我都告诉它输出,但我没有输出.这是代码: #include iostreamusing namespace s
嗨,我正在尝试在C中创建一个带有数字的函数,i,并通过循环运行找到它的倍数来确定它是否是素数,然后确保它不是通过一个素数系列测试.然而,似乎循环甚至没有被贯穿.无论循环在哪里,我都告诉它输出,但我没有输出.这是代码:

#include <iostream>

using namespace std;

int main()
{
    int j =1;
    int z = 0;
    int i = 10;
    bool p = false;
    while (p = false){
        cout << "not starting ifs";
        z=i%j;
        if (z==0 && j>2){
        p=true;
        cout << "not prime" << endl << "loops to if";
        }
        else if (j==1){
            j++;
            cout <<"loops to else if 1";
            }
        else if ( i==2 || j==i ){
          p = true;
          cout << "prime" << endl << "loops to else if 2";
            }
            else {
            j++;
            cout << "loops to else";
                }
        }
            return 0;
}

我不关心它背后的数学是否正确,我想要了解自己的学习经验.但是,如果有人能帮助我用一个易于理解的解释来解决这个问题,我将不胜感激!我对编程很陌生,所以我还不习惯行话.我期待你的建议!

解决方法

您正在使用=而不是== in

while (p = false){

执行此操作时,将false赋值给p,表达式的结果为false,这将在while循环中进行测试,从而导致循环退出.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读