📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

用 limits.h 函数库限制输入数字int最大 最小,防止溢出

创建时间2018-01-28最后修改2018-02-18原位置/程序员成长之旅/C语言/笔记/字数406图片/附件8
目录:程序员成长之旅/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.png

printf("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