非法cpp和C中的除零例外
Illegal Divide by Zero exception in cpp and C
这是一个简单的程序,用于计算恰好整除给定数字的个位数。
#include<stdio.h>
int main()
{
long long t, val, temp, count = 0, val1;
scanf("%lld", &t);
while (t--)
{
count = 0;
scanf("%lld", &val);
val1=val;
while(val1 != 0)
{
temp = val1 % 10;
val1 = val1 / 10.0 ;
if (val % temp == 0)
{
count++;
}
}
printf("%lld", count);
}
}
当输入
时抛出除零异常1
300
表示测试用例的个数为1,值为300。但是这里我把它除以一个常数10,为什么会抛出这个异常。那么我现在应该怎么处理呢?*我甚至尝试在cpp和面临同样的问题
val%temp
如果temp
是0
(在您的程序中似乎就是这种情况),您正在调用未定义行为。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- Linux的Cpp上的计时器
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 命名空间中具有.h和.cpp文件的类
- 内置函数可查看CPP中的成员变量
- 在没有太多条件句的情况下,我如何避免被零除
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- Cpp-Tuple使用带有变量的get
- OpenInventor从9.8升级到10.4.2后,GLSL纹理返回零
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何通过cpp程序运行shell脚本
- 矩阵向量乘法(cublasDgemv)返回零
- 如何将 fortran 子例程链接到 cpp 主程序
- 非法cpp和C中的除零例外
- 在cpp中初始化数组并用零填充
- 从cpp单元测试用例中为规范生成参考测试文件
- 在cpp-driod中运行c++时,作为输出的零不受限制