gpt4 book ai didi

c++ - while循环,好像什么都没做?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:25:14 24 4
gpt4 key购买 nike

您好,我正在尝试用 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;
}

我不在乎它背后的数学是否正确,我想自己弄清楚它以获取学习经验。但是,如果有人可以通过易于理解的解释帮助我解决这个问题,我将不胜感激!我真的是编程新手,所以我还不习惯行话。我期待您的建议!

最佳答案

您正在使用 = 而不是 ==

while (p = false){

当你这样做时,你将 false 分配给 p 并且表达式的结果是 false ,它在 while 循环导致循环退出。

关于c++ - while循环,好像什么都没做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3802527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com