关于c语言整型常量的范围问题

2025-04-13 20:29:57
推荐回答(2个)
回答1:

1、测试结果不正常

2、以下内容来自《C Primer Plus (第6版)》,供您参考

3、C语言中有类似的机制,int偷偷转变成long,或者float转变成double,但并不是一定的。编程时请严格按照数据类型规定的容量范围使用。

回答2:

你好,不知你是怎么运算的,但int类型的数据最大值还真不能大于2^31-1。如下图所示,我通过第一个循环算出2^31,输出2^31-1,再通过第二个循环算出2^32,输出2^32-1,2^31-1能正常输出,为2147483647,但2^32-1出现了数据“溢出”,输出的是-1,无法正常输出。