#include
typedef unsigned int WORD;/*如果是用gcc,int型为32位,turboC则为16位*/
function(WORD parm)
{
if(parm&0x8000 == 0x8000)
/*考虑到32位的情况,这里通过看参数的第15位(符号位)是不是为1,从而判断参数是否为负数*/
printf("parm is %d so,parm 0\n",parm);
}
main()
{
clrscr();
function(0x7777);
function(0x7776);
getch();
}
运行结果:
parm is 30583 so,parm 0
无论是gcc还是turboC都是这样!如果你们的不是这样,难道我的cpu有问题?!当然,希望是我有哪个地方搞错了,望大家指出。