首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请教有“#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL”

2012-08-07 
请问有“#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL”如题编译不过去,没见过UL可以这样用的啊,高手指

请问有“#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL”
如题
编译不过去,没见过UL可以这样用的啊,高手指教,谢谢
如果有,正确形式应该是怎样的?

[解决办法]
#define SECONDS_PER_YEAR ((unsigned long)(60 * 60 * 24 * 365))
[解决办法]
试试看这样行不:

C/C++ code
#define SECONDS_PER_YEAR (60UL * 60UL * 24UL * 365UL)
[解决办法]
这种定义还是不足为奇的
在嵌入式程序中经常看到

UL 就是unsigned long 的缩写
编译器一般会编译通过

如果不行的话那可能就是编译器不够“聪明”

因此换成
#define SECONDS_PER_YEAR (60UL * 60UL * 24UL * 365UL)
或者
#define SECONDS_PER_YEAR ((unsigned long)(60 * 60 * 24 * 365))
都是一样的!

热点排行