注册 登录
编程论坛 C++教室

预处理问题

shengwumozhe 发布于 2007-01-09 20:02, 547 次点击

假如我想用一个表达式去表示一年中有多少秒,我可能会用到一个预处理命令:
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365 )
可是显然60*60*24*365会造成范围溢出,这里怎样才能在预处理时将SECONDS_PER_YEAR设置成unsigned long型?
可否提供下格式?谢谢

5 回复
#2
一二三四五2007-01-10 09:34
预处理还是少用吧,定义一个常量就可以了
#3
lzz44382532007-01-10 10:33
const
#4
shengwumozhe2007-01-10 14:11
如题,希望知道的回复我,非常感谢.
我想知道用预处理怎样完成.
#5
yuyunliuhen2007-01-10 19:02

为什么不用:
const unsigned long SECONDS_PER_YEAR = 60 * 60 * 24 * 365;
呢?

宏天生是一个不讲究类型,不讲究作用域的东西。
溢出还算好的,有时候整出来的事情你想都想不到。

#6
song42007-01-13 12:03
小博,你是否听过"听妈妈的话吧,晚点谈恋爱吧"
你那个很不讲究
1