gpt4 book ai didi

c++ - 变量在循环中显示但不在循环中

转载 作者:行者123 更新时间:2023-11-30 02:13:39 24 4
gpt4 key购买 nike

所以我试图打印第一个偶数的“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;
}

这也应该有效。

关于c++ - 变量在循环中显示但不在循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59001379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com