什么是数值溢出?
为什么会发生数值溢出?

  • 数据类型只能用有限位数存储数据,表数范围有限。
  • 为变量赋值超出了类型表数范围,就是数值溢出。
  • 千年虫问题,早期身份证表示出生年2位数字的问题,都属于数值溢出问题
    下面来看一个代码片段:
#include   <stdio.h>
int main ()
{
long a;
a = 200 * 300 * 400 * 500;
printf(" %d\n", a);
return 0;
}

程序运行结果为:-884901888,产生整数溢出问题
危害:编译结果不准确
系统移植此忽视问题

更多推荐

C语言基础知识----数值溢出问题和精度损失问题