turboc下printf()函数输出long型 求助
#include <stdio.h>main()
{
long a=5;
printf("\n%d",(a%256)/16+1);
}
结果是1
#include <stdio.h>
main()
{
long a=5;
printf("\n%d,%d",a/256+1,(a%256)/16+1);
}
结果是1,0
问:(a%256)/16+1为什么两次输出结果不同呢
如果我将long a=5改为 int a=5则不会出现上述问题
谁能告诉我这个long型数据在计算的时候到底除了什么问题导致出现非预期的结果
[[it] 本帖最后由 lihanying2008 于 2008-11-29 16:27 编辑 [/it]]