sam*_*oul 3 c++ iteration loops operators while-loop
嗨,我正在尝试在C++中创建一个函数,它接受一个数字,我,并通过循环运行找到它的倍数来决定它是否是素数,然后确保它不是通过一个素数系列测试.然而,似乎循环甚至没有被贯穿.无论循环在哪里,我都告诉它输出,但我没有输出.这是代码:
#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;
}
Run Code Online (Sandbox Code Playgroud)
我不关心它背后的数学是否正确,我想要了解自己的学习经验.但是,如果有人能帮助我用一个易于理解的解释来解决这个问题,我将不胜感激!我对编程很陌生,所以我还不习惯行话.我期待你的建议!
cod*_*ict 10
你正在使用=而不是==in
while (p = false){
Run Code Online (Sandbox Code Playgroud)
当你这样做时,你分配false给p表达式的结果是false在while循环中测试的结果导致退出循环.