C是死循环的原因是因为没有结束循环的条件。I小于10的时候是continue,但是并没有说大于10的时候break因此该循环就一直下去了,只是在大于10的时候不回做continue这条语句而已。
死循环即是因为没有设置结束循环的条件或者条件永远不可能发生而导致程序一直处在循环中的现象。
希望对你有所帮助。
首先说下流程图的各个部分的意思,其中椭圆形的START和END代表程序的起止部分,是不对应代码的;方形和菱形的部分是程序的具体运行过程,方形代表顺序 *** 作,菱形代表判断语句;
下面是该流程图对应的代码,各个部分对应的代码都有注释,该程序用于计算两个输入数字的最大公约数。
#include<iostream>
using namespace std;
int main(){
// START
int m,n,r;//定义输入变量m,n和中间量r
bool flag;//定义判断循环的判断条件
// input m,n
cin>>m>>n;//输入变量m,n
// r=m%n
r=m%n;//计算r的值,是m除以n的余数
flag=true;//给循环判断条件赋值
//判断r是否为0
while (flag)//对应菱形中的判断
{
flag=false;//控制循环
//当r不等于0的时候(true)
if(r!=0)
{
m=n;
n=r;
r=m%n;
flag=true;//控制循环
}
//当r等于0的时候(false)
else
{
//输出n,即输入数字的最大公约数
cout<<n<<endl;
}
}
//END
return 0;
}
死循环是指程序中一段代码无限循环,导致程序无法终止,从而造成程序的崩溃或者系统崩溃。要解决死循环问题,可以采取以下方法:
1检查程序的流程控制语句,确保循环条件正确。
2检查程序中所有的递归调用,确保递归终止条件正确。
3使用调试工具,查看程序运行时的变量值和函数调用栈,找出问题的根源。
4插入断点,在程序执行到循环的某个特定点时中断程序,查看此时程序的状态,有利于定位问题。
5使用编译器的调试工具,如gdb,lldb等,对程序进行调试。
总之,在编写任何程序时,请务必注意检查代码逻辑,避免出现死循环问题。如果遇到了死循环问题,请着手解决,保证程序的正常运行。
以上就是关于为什么c是死循环,什么是死循环,谢谢全部的内容,包括:为什么c是死循环,什么是死循环,谢谢、C++流程图问题、如何解决死循环等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)