C++编程的,帮我检查一下这个简单程序有什么错误。

2025-06-23 02:10:59
推荐回答(5个)
回答1:

程序中i值其实变化为1.2.1.2......,因为执行了i=i+1后,程序回到执行int i=1.每次if(1==many)到达不了break这里.
这时while(many>0)永远是真,程序就进入死循环了.除非你输入的是1.
可以这样,将int i=1放在while(many>0)之前即可.

回答2:

你的int i=1;不能在while循环内定义,否则你每次循环i都被重置为1,那是不可能满足i==many这个条件的 所以是死循环。

要把int i定义到while循环之外

回答3:

/*
你想看多少次?5

问君能有几多愁

问君能有几多愁

问君能有几多愁

问君能有几多愁

问君能有几多愁

程序结束
Press any key to continue
*/
#include
int main() {
int many;
std::cout<<"你想看多少次?";
std::cin>>many;
while(many--) {
std::cout<<"\n问君能有几多愁\n";
}
std::cout<<"\n程序结束\n";
return 0;
}

回答4:

按照你的意思 你应该把int i = 1;放在while循环外面
#include
int main()
{
int many;
int i=1;
std::cout<<"你想看多少次?";
std::cin>>many;

while(many>0)
{

std::cout<<"\n问君能有几多愁\n";
if(i==many)
break;
i=i+1;
}
std::cout<<"\n程序结束\n";
return 0;
}

回答5:

怎么会这样写?里面的i变量事多此一举/
int many;
std::cout<<"你想看多少次?";
std::cin>>many;
while(many>0)
{
std::cout<<"\n问君能有几多愁\n";
many--;
}
std::cout<<"重复拉"< return 0;