为什么加上while循环反而不能运行

img

img


第一张图片19行加上while循环限制条件,第二张图片上没有加,为什么加上whlie程序反而不能运行了,while的条件并没有限制很多啊?

你这样写会死循环,如果*p既不等于0,又不等于-,就会卡住,应改为:

while(*p!=0)
{
    if(*p=='-')
    {
        flag=-1;
        p++;
    }
    else break;
}


请采纳!!!

把两个while写在一起试试

死循环了

1、存在死循环,如果第一个*p不等于0,那么继续执行if,如果if也不符合,那么就会继续第一个while的判断,程序卡死在这,出不去。