c++ 这个简单的WHILE 循环为什么是死循环
#include<iostream.h>intmain(){inta=10,i=0;while(i!=a){if(i=5){cout<<"5";}elsecout<<"n...
#include<iostream.h>
int main()
{
int a=10,i=0;
while(i!=a)
{
if(i=5)
{
cout<<"5 ";
}
else
cout<<"not 5 ";
i++;
}
return 0;
}
我分布测试过 I上来就等于5 展开
int main()
{
int a=10,i=0;
while(i!=a)
{
if(i=5)
{
cout<<"5 ";
}
else
cout<<"not 5 ";
i++;
}
return 0;
}
我分布测试过 I上来就等于5 展开
7个回答
展开全部
if(i=5)
这里应该是 if(5==i)吧???你写成赋值语句了 少了个等号 上来当然 I就等于5啦~
这里应该是 if(5==i)吧???你写成赋值语句了 少了个等号 上来当然 I就等于5啦~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哈哈if(i=5)你看看你是这么写的吧 改成 if(i==5)
明白我的意思吗
明白我的意思吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哦,我测试了一下也是死循环。后来发现了一个我也经常犯的错误,你看看
if(i=5) 这个地方,"i=5"是个赋值表达式,那么这个条件就永远为真了,所以就一直循环了,改为 if(i==5)就OK了~~
if(i=5) 这个地方,"i=5"是个赋值表达式,那么这个条件就永远为真了,所以就一直循环了,改为 if(i==5)就OK了~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你的if语句中相等应该是两个等号,即“==”,而不是赋值号“=”,所以你只要将if语句括号里的“=”改成“==”就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
= 是赋值,
== 才是判断。
== 才是判断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询