用 limits.h 函数库限制输入数字int最大 最小,防止溢出
目录:程序员成长之旅/C语言/笔记
#include <limits.h>
包含
INT_MAX
INT_MIN
示例:
printf("%d,%d", INT_MAX, INT_MIN);
完整版:
🖼 图片占位(归档模式)图片见原始导出:
%E7%94%A8%20limits.h%20%E5%87%BD%E6%95%B0%E5%BA%93%E9%99%90%E5%88%B6%E8%BE%93%E5%85%A5%E6%95%B0%E5%AD%97int%E6%9C%80%E5%A4%A7%20%E6%9C%80%E5%B0%8F%EF%BC%8C%E9%98%B2%E6%AD%A2%E6%BA%A2%E5%87%BA.assets/20180218121113347.jpg🖼 图片占位(归档模式)图片见原始导出:
%E7%94%A8%20limits.h%20%E5%87%BD%E6%95%B0%E5%BA%93%E9%99%90%E5%88%B6%E8%BE%93%E5%85%A5%E6%95%B0%E5%AD%97int%E6%9C%80%E5%A4%A7%20%E6%9C%80%E5%B0%8F%EF%BC%8C%E9%98%B2%E6%AD%A2%E6%BA%A2%E5%87%BA.assets/3edd16fc-f9aa-4530-9b88-7a0356380aa1.jpg书上的示例源码:
// defines.c -- 使用limit.h和float头文件中定义的明示常量
#include <stdio.h>
#include <limits.h> // 整型限制
#include <float.h> // 浮点型限制
int main(void)
{
printf("Some number limits for this system:\n");
printf("Biggest int: %d\n", INT_MAX);
printf("Smallest long long: %lld\n", LLONG_MIN);
printf("One byte = %d bits on this system.\n\n", CHAR_BIT);
//以下属于“float.h”示例
printf("Largest double: %e\n", DBL_MAX);//原型
🖼 图片占位(归档模式)图片见原始导出:
%E7%94%A8%20limits.h%20%E5%87%BD%E6%95%B0%E5%BA%93%E9%99%90%E5%88%B6%E8%BE%93%E5%85%A5%E6%95%B0%E5%AD%97int%E6%9C%80%E5%A4%A7%20%E6%9C%80%E5%B0%8F%EF%BC%8C%E9%98%B2%E6%AD%A2%E6%BA%A2%E5%87%BA.assets/f5b11819-a973-4576-ad93-92f332a2595c.pngprintf("Smallest normal float: %e\n", FLT_MIN);
printf("float precision = %d digits\n", FLT_DIG);
printf("float epsilon = %e\n", FLT_EPSILON);
return 0;
}
运行结果:
🖼 图片占位(归档模式)图片见原始导出:
%E7%94%A8%20limits.h%20%E5%87%BD%E6%95%B0%E5%BA%93%E9%99%90%E5%88%B6%E8%BE%93%E5%85%A5%E6%95%B0%E5%AD%97int%E6%9C%80%E5%A4%A7%20%E6%9C%80%E5%B0%8F%EF%BC%8C%E9%98%B2%E6%AD%A2%E6%BA%A2%E5%87%BA.assets/c31bca03-6422-4914-86f4-4aba170ced29.png