变量在循环中显示,但不在循环中显示

Variable shows while in loop but not out of it

本文关键字:显示 循环 变量      更新时间:2023-10-16

所以我正在尝试打印"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;
}

这也应该有效。