gpt4 book ai didi

c++ - 程序崩溃 - 除以 0

转载 作者:行者123 更新时间:2023-11-30 20:51:56 27 4
gpt4 key购买 nike

我对在不同计算机上运行程序有疑问。

我用 C++\windows 7 64 位\Visual Studio 编写了一个程序,该程序在我的计算机上完美运行。

当我尝试在另一台计算机(Windows 7 64 位\Visual Studio)上运行它时,程序崩溃了 - 它说我将某个变量除以 0。

这是代码的(很少)部分:

unsigned int var2;
double var1 ;

void main()
{
// some code ...
var1 = 1.0;
// some more code ...
var1 /= 2;
...
var2 /= var1;
}

在最后一行之后,程序崩溃了......

我知道这两个变量来自不同类型,但我很高兴知道为什么代码在一台机器上运行完美而在另一台机器上崩溃,以及如何防止这种情况。

编辑:我收到此警告 -

警告 7 警告 C4244:“/=”:从“double”转换为“u_int”,可能会丢失数据

谢谢!

最佳答案

Warning 7 warning C4244: '/=' : conversion from 'double' to 'u_int', possible loss of data

这可能指的是程序的最后一行,您尝试将 int 与 double 相除。此时 double 的值为 0.5,当转换为 int 时,该值将向下舍入(或者更确切地说截断)为 0。这会导致除以零。

关于c++ - 程序崩溃 - 除以 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23497671/

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