gpt4 book ai didi

c++ - C++ 中不可预测的输出

转载 作者:太空狗 更新时间:2023-10-29 21:04:06 24 4
gpt4 key购买 nike

这里是源代码示例

#include <iostream.h>
#include <conio.h>
#include <math.h>
int main()
{
int i=2,a;
a= pow(10,i);
int b=0;
b+=a;
cout<<b;
getch();
}

我期望的输出是 100,因为很明显。但是编译器将 99 作为输出。任何人都可以解释代码中的问题是什么以及如何更正它以获得 100 作为输出。

最佳答案

改变这一行:

a = round(pow(10,i));

您可以将 round 函数编写为:

int round(double r) {
return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5);
}

注意: pow() 返回一个 double,因此避免此类问题的最佳方法是使 a 为 double,而不是 int.

关于c++ - C++ 中不可预测的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12213260/

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