概述
整数溢出是当整数数据类型无法保存变量的实际值时发生的现象。C 中的整数溢出和整数下溢不会引发任何错误,但程序会继续执行(使用不正确的值),就好像什么都没发生一样。它使溢出错误变得非常微妙和危险。在本文中,我们将看到几种检测这些错误的方法。
什么是 C 中的整数溢出?
与任何其他变量一样,整数只是一些字节的内存。所有现代计算机都支持 32 位和 64 位大小的整数。还有一些较小的数据类型,如占用 16 位的 short int。由于分配了固定数量的位来存储整数,因此自然存在有限限制来正确表示整数。此类限制在标头 limits.h 中定义。
溢出示例:
#include <stdio.h>
#include <limits.h>
int main() {
/* INT_MAX is the maximum