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循环中进行测试,从而导致循环退出. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容