所以我试图打印“ n”的第一个偶数。不知何故,当我尝试打印数字时,它将使控制台上的数字保持无穷大,但是当我在循环内打印时,它会打印“ 66666666等”。这是我的代码:
#include <iostream>
using namespace std;
int main()
{
int n,i,x=1;
cin>>n;
while(n){
while(x){
i=n%10;
if(n%2==0){
x--;
}
n/=10;
}
}
cout<<i;
return 0;
}
问题是您的2个while循环:
while(n) {
while(x) {
//...
}
}
x
变为0时,您将进入外部循环。
但是,此外部循环根本不会修改n
。因此,如果n
永远不为0,它将连续坐在那里。
最简单的解决方法可能就是将它们组合成一个循环:
while(n && x) {
//...
}
或者,您可以只使用1个循环,而根本不使用x
。
int main()
{
int n,i;
cin>>n;
while(n){
i=n%10;
if(n%2==0){
break;
}
n/=10;
}
cout<<i;
return 0;
}
这也应该起作用。