C++ 为什么变死循环的啊?貌似以前都是这么写的

来源:百度知道 编辑:UC知道 时间:2024/05/31 03:23:27
int main()
{
string oo,ll;
cin>>oo;
while(oo!="#")
{
ll=ll+oo;
}
cout<<ll<<endl;
system("pause");
}

//貌似之前都是这么做的啊,不是死循环的啊,难道哪里错了?

int main()
{
string oo,ll;
cin>>oo;
while(oo!="#")
{
ll=ll+oo;
cin>>oo; ///-------------
}
cout<<ll<<endl;
system("pause");
}

不应该用while,而应该用if。
while是循环用,你那句的意思是如果ll不等于oo,就执行花括号内的内容,循环执行。因此,当你的输入不是#时,就会不断循环。

把 cin>>oo放到while里面。。。然后输入“#”就会退出