c头文件limits.h各种常量的范围问题

问题描述

c头文件limits.h各种常量的范围问题

软件:VS2013
Os:win8.1
代码 写的有点乱。。

 #include<stdio.h>
#include<stdlib.h>
#include<limits.h>

int main()
{
    printf("CHAR_BIT =%d
CHAR_MAX = %d
CHAR_MIN = %d
SCHAR_MAX = %d
SCHAR_MIN = %d
UCHAR_MIN = %d
UCHAR_MAX = %d
SHRT_MAX = %d
SHRT_MIN = %d
USHRT_MAX = %d
INT_MAX = %d
INT_MIN = %d
UINT_MAX = %d
 LONG_MAX = %d
 ULONG_MAX = %d
 LLONG_MAX = %d
 LLONG_MIN = %d
 ULLONG_MAX = %d
", CHAR_BIT, CHAR_MAX, CHAR_MIN, SCHAR_MAX, SCHAR_MIN, 0,UCHAR_MAX,SHRT_MAX, SHRT_MIN, USHRT_MAX, INT_MAX, INT_MIN, UINT_MAX, LONG_MAX, ULONG_MAX, LLONG_MAX, LLONG_MIN, ULLONG_MAX);
    system("pause");
    return 0;
}

输出结果

红框的都是输出有问题的

加了UCHRT_MAX 程序就会报错

看的好头晕 请教各位前辈 到底是哪里出错了呢?红框输出的是错的 可是printf参数我没写错啊。。

解决方案

头文件atlstr.h使用错误问题

解决方案二:

格式化类型不匹配

printf("CHAR_BIT =%d
CHAR_MAX = %d
CHAR_MIN = %d
SCHAR_MAX = %d
SCHAR_MIN = %d
UCHAR_MIN = %d
UCHAR_MAX = %d
SHRT_MAX = %d
SHRT_MIN = %d
USHRT_MAX = %d
INT_MAX = %d
INT_MIN = %d
UINT_MAX = %u
LONG_MAX = %d
ULONG_MAX = %lu
LLONG_MAX = %I64d
LLONG_MIN = %I64d
ULLONG_MAX = %I64u
", CHAR_BIT, CHAR_MAX, CHAR_MIN, SCHAR_MAX, SCHAR_MIN, 0,UCHAR_MAX,SHRT_MAX, SHRT_MIN, USHRT_MAX, INT_MAX, INT_MIN, UINT_MAX, LONG_MAX, ULONG_MAX, LLONG_MAX, LLONG_MIN, ULLONG_MAX);


时间: 2024-12-21 05:33:08

c头文件limits.h各种常量的范围问题的相关文章

Unix环境编程常用头文件

POSIX标准定义的头文件<dirent.h> 目录项 <fcntl.h> 文件控制 <fnmatch.h> 文件名匹配类型 <glob.h> 路径名模式匹配类型 <grp.h> 组文件 <netdb.h> 网络数据库操作 <pwd.h> 口令文件 <regex.h> 正则表达式 <tar.h> TAR归档值 <termios.h> 终端I/O <unistd.h> 符号常量

C++类的设计习惯及头文件重复包含问题的解决

在设计一个类的时候,通常是将类的定义及类成员函数的声明放到头文件(即.h文件)中,将类中成员函数的实现放到源文件(即.cpp)中.对于animal类需要animal.h和animal.cpp两个文件,同样,对于fish类需要fish.h和fish.cpp.对于main()函数,我们把它单独放到EX10.cpp文件中. 往一个现有工程添加头文件(.h文件)或源文件(.cpp文件)有两种方式:一种是在打开的工程中,单击[File]→[New],在左边的Files标签页下,选择C++ Header F

C++的头文件中类声明后忘记加分号产生不可预期的编译错误

头文件 Test.h 的内容是 class Test { public: virtual void test1(); } 实现文件是 Test.cpp #include "Test.h" #include <iostream> using namespace std; void Test::test1(){ cout<<"Hello"<<endl; } 编译时出现错误 c:\program files\microsoft visu

(一〇九)单独编译(多个源代码文件和头文件)

单独编译的简单原理: C++在内存中储存数据提供了多种选择.   可以选择数据保留在内存中的时间长度(存储持续性)以及程序的哪一部分可以访问数据(作用域和链接)等.可以使用new来动态地分配内存,而定位new运算符提供了这种技术的一种变种.C++名称空间是另一种控制访问权的方式.   通常,大型程序都由多个源代码文件组成,这些文件可能共享一些数据.这样的程序涉及到文件的单独编译.     ----***一〇九谈的是单独编译***一一〇谈的是存储***------   和C语言一样,C++也允许,

C/C++ 头文件作用

最近在工作当中遇到了一点小问题,关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题.学习C语言已经有好几年了,工作使用也近半年了,但是对于这部分的东西的确还没有深入的思考过.概念上还是比较模糊的,只是之前的使用大多比较简单,并没有牵涉到太复杂的工程,所以定义和声明还是比较简单而明了了的.但是最近的大工程让我在这方面吃到了一点点苦头,虽然看了别人的代码能够很快的改正,但是这些改正背后的原因却不知道.我想大多数喜欢C语言的程序员应该是和我一样的,总喜欢去追究程序问题背后的底层原因,而这

C++ 学习之旅二——说一说C++头文件

  作为一个二手的.net程序员,你看到了C++头文件一定就犯迷糊了,这到底是个啥玩意.再我纠结了24个小时, google20次,度娘10下,看过10来骗文章以后,我可能稍微开窍了.我对C++头文件总结,与.net比较如下:    一.C++头文件究竟是什么,你怎么看? 每个C++/C程序通常分为两个文件.一个文件用于保存程序的声明(declaration),称为头文件.另一个文件用于保存程序的实现(implementation),称为定义(definition)文件.C++/C程序的头文件以

imagesize-头文件graphics.h中的成员函数

问题描述 头文件graphics.h中的成员函数 TC中有一个函数imagesize,有,4个参数,是坐标,用来获取图片大小,但是我下载的这个库没有这个函数,有类似功能的函数吗 解决方案 http://baike.baidu.com/link?url=ev461A-0br-8uJJ1fVfu2fH7Ocj-QQEDKzX010rRS_fvyX6dkEljxoK6ghOXYEfhKSZ6PHkVXuBSC7DRGqZ45q

c++-对C++头文件改变如增加一个变量或者随便打sdflksdjf对整个项目都没反应是怎么回事儿

问题描述 对C++头文件改变如增加一个变量或者随便打sdflksdjf对整个项目都没反应是怎么回事儿 对C++头文件改变如增加一个变量或者随便打sdflksdjf对整个项目都没反应是怎么回事儿 解决方案 你是怎么随便打的, 一般头文件里都是声明的, 也可以定义函数(定义的话就直接是内联函数了),如果随便打的话估计都让你编译不过去吧 解决方案二: 项目中没有任何一个cpp文件#include这个头文件,所以随便打什么都不会有反应. 解决方案三: 我就随便打了:sdkfjlskdjfl(在任何地方)

用iitao(num,buff,10)将数字转化为字符的函数之前需要声明吗?头文件是什么?

问题描述 用iitao(num,buff,10)将数字转化为字符的函数之前需要声明吗?头文件是什么? 急急急,,之前需要声明吗?头文件是什么? 用iitao(num,buff,10)将数字转化为字符的函数之前需要声明吗?头文件是什么? 解决方案 是itoa,integer to ascii的缩写 解决方案二: itoa, 用 法:char *itoa(int value, char *string, int radix); 是英文integer to array(将int整型数转化为一个字符串,