今天,在论坛上看到一个帖
http://bbs.csdn.net/topics/390397669?page=1#post-393964523
后面有我的回复
总结了下
获取与编译器相关的int、char、long的最大值的方法分别为
1) 使用头文件 <limits.h> 里面分别有关于最大、最小的char 、int、long的值。
2) 分别将-1转换成对应的unsigned char 、unsigned int、unsigned long值
#include <stdio.h>
int main()
{
unsigned char max_char = (unsigned char )-1;
unsigned int max_int = (unsigned int )-1;
unsigned long max_long = (unsigned long )-1;
fprintf(stderr,"%d %u %ul\n",max_char,max_int,max_long);
return 0;
}
在mac下 输出
255 4294967295 4294967295l