单步调试是指程序开发中,为了找到程序的bug,通常采用的一种调试手段,一步一步跟踪程序执行的流程,根据变量的值,找到错误的原因。
解决这个问题的方法如下:
1、首先需要设置断点的那一行代码的最前面点击下,就会出现一个红色的圆球,代表设置断点成功,下图一共设置了4个断点。
2、设置断点完成之后,按下F5,开始断点调试,断点走到的位置,会在红色圆球上添加一个黄色箭头。
3、继续按下F5, 程序会往下执行,走到下一个断点的时候停止。
4、继续按下F5,当设置的断点不满足条件的时候,不会走进去,而是继续执行,跳到下一个断点。
5、另外,当走到某个断点处,可以实时更改当前变量的值。
6、当不需要单步调试的时候,点击下图标示的图标,可以删除所有的断点。
7、删掉之后,红色圆点消失,这样问题就解决了。
语法上的错误的修改:void main()
{
int i=2,j,w=0,r
double k
while(i<=100)
{
j=2
k=sqrt(i)
while(j<=k&&w==0)
{
r=(i%j)
if(r==0) //注意if语句条件判断是不是相等用两个==
w=1
else
j=j+1
}
}
if(w==0)
printf("素数为:%d",i)
}
上边的代码可以执行了,但是你写的代码逻辑上有错误。
我给你修改如下:
void main()
{
int i,j=2,w=0,r
double k
printf("请输入一个数据\n")
scanf("%d",&i)
k=sqrt(i)
while(j<=k&&w==0) //外层的循环没有必要,就算写上也可以,但是你得有跳出循环的语句
{ //否则就成了死循环。
r=i%j
if(r==0)
{
w=1
break
}
else
j++
}
if(w==0)
printf("%d是素数\n",i)
else
printf("%d不是素数\n",i)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)