gpt4 book ai didi

c++ - 无限循环使变量出现为 0

转载 作者:太空狗 更新时间:2023-10-29 23:25:24 26 4
gpt4 key购买 nike

我的课本上有这段代码。

#include<iostream>
using namespace std;

int main() {
int x=10,c=1;
while (c < 5) {
x += x*c;
c *= 2;
c++;
c -= 2;
cout << "X=" << x<<'\n';
}
system("pause");
return 0;
}

如您所见,这是一个无限循环,按逻辑跟踪时,它应该显示 20、40、80 等等。但是它总是显示0。在每个循环周期后添加 system("pause") 时,它显示正确的值,但如上所示(无限循环)保留时,它显示零。有什么想法吗?

最佳答案

c 无论如何始终为 1。循环变得无限。最终,由于整数溢出,X 变为 0

c = 1
c *= 2; c = 2
c++; c = 3
c -= 2; c = 1 <-- infinite

关于c++ - 无限循环使变量出现为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128308/

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