关于 LLONG_MIN LLONG_MAX
小弟在家自学C语言 书上有一个示例程序:// defines.c -- uses defined constants from limit.h and float.
#include<stdio.h>
#include<limits.h> // integer limits
#include<float.h> // floating-point limits
int main(void)
{
printf("Some number limits for this system:\n");
printf("Biggest int: %d\n", INT_MAX);
printf("Smallest unsigned long : %lld\n", LLONG_MIN);
printf("One byte = %d bits on this system.\n", CHAR_BIT);
printf("Largest double: %e\n", DBL_MAX);
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;
最后运行的结果一切正常除了 Smallest unsigned long 它显示是0 ? 这和书上的结果-9223372036854775808 差别也太大了。 我知道其实unsigned long 应该被写成 long long 但是这应该并不影响输出的结果。 百思不得其解 求高人赐教。
我的系统是XP 用的是QStudio c/c++ 学习实践系统。
ps 如果使用LLONG_MAX 也会有同样的问题。
[ 本帖最后由 momobishi454 于 2015-7-29 21:12 编辑 ]