输入的很大的数字原样输出后变了,为什么?我是初学者
int a;scanf("%d",&a);
printf("%d",a);
其他的省略了,输入999999999时输出999999999
当输入9999999999(十位)时却输出其他的数字,这是为什么啊,用long a;也一样。。。。。
求指教
unsigned int 0~4294967295
int 2147483648~2147483647
unsigned long 0~4294967295
long 2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
很明显超出范围了。建议把各类型的取值范围和用法弄清楚。 ANDES 发表于 2015-3-16 19:10
unsigned int 0~4294967295
int 2147483648~2147483647
unsigned long 0~4294967295
我是初学者,谢谢解答 wojiaopengxigui 发表于 2015-5-10 11:16
我是初学者,谢谢解答
为啥会用到这样大的数值呢!我也是初学者,我觉得这些类型的取值范围大概知道就可以了。先熟练C语言的基本操作和学会活学活用就OK拉!
页:
[1]