[求助] 我在xp的cmd中运行tc为什么long int 只有16位
我在xp的cmd中运行tc为什么long int 只有16位?
请问long int的长度由机器,编译器,操作系统三者怎么决定的?
同一个机器,同一个编译器在不同的操作系统下,长度一样吗?
同一个操作系统,同一个机器在不同编译器上,一样吗?
等等问题。
我觉得现在自己跟范伟似的好乱呀!呵呵
确实,tc下需要加上“L”小写。那么我需要输出long long int该加什么呢?
int main(int argc,char **argv)
{long long int *p;
long long int lfloat;
scanf("%lx",&lfloat);
p=&lfloat;
printf("lfloat is %x",lfloat);
printf("*p is %lx\n",*p);
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(long long));
}
运行结果是:
1234567898765432
lfloat is 98765432*p is 98765432
8
为什么这个不输入64位?