c++,写了一个程序,while一直循环,求高手解决

以下为部分程序内容:
p=0;
while(p<1){
for(int i=1;i<=j;i++){
if(a[i]==1)x=1/x;
if(a[i]==2)x=x*-1;
if(a[i]==3)x=x*x;
if(a[i]==4&&n==11)if(x>y)p+1;
}
}
while会一直循环,怎么办啊?

你只给一段代码不好判断啊,x,y,j的初始值是多少,数组又是多少?

不过从目前这段来看,while循环的执行条件是p<1,一直执行就证明p值没有增加,也就是最后那句 if(a[i]==4 && n==11) if(x>y) p+1; 没有被执行,它和a[i],n,x,y都有关系,你自己判断一下吧,或者把全部代码发出来
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-01-15

if(x>y)p+1;改为)if(x>y)p+=1;

 否则变量p的值永远不变,循环条件p<1恒成立,是一个死循环

第2个回答  2022-01-15
程序里p=0,然后一直没变,当然无限循环。
第3个回答  2022-01-15
p+1
改为
p+=1
或者
p++本回答被提问者采纳
相似回答