UL类型的疑问
#include <stdio.h>
#define SENCONDS_PER_YEAR (365*24*60*60)UL
void main()
{
unsigned long seconds;
seconds=SENCONDS_PER_YEAR;
printf("%ul\n",seconds);
}
为什么在vc中编译不成功?
[解决办法]
(365*24*60*60)UL
不是一个有效合法的常量或表达式
365UL是有效常量,
(unsigned long)(365*24*60*60)是有效表达式
[解决办法]
#define SENCONDS_PER_YEAR (365UL*24UL*60UL*60UL)
[解决办法]
貌似只能在常量后面加类型标志,告诉编译器用多少空间来存储这个数据!却不能用来表示表达式!