我在xp的cmd中运行tc为什么long int 只有16位?
请问long int的长度由机器,编译器,操作系统三者怎么决定的?
同一个机器,同一个编译器在不同的操作系统下,长度一样吗?
同一个操作系统,同一个机器在不同编译器上,一样吗?
等等问题。
我觉得现在自己跟范伟似的好乱呀!呵呵
我在xp的cmd中运行tc为什么long int 只有16位?
请问long int的长度由机器,编译器,操作系统三者怎么决定的?
同一个机器,同一个编译器在不同的操作系统下,长度一样吗?
同一个操作系统,同一个机器在不同编译器上,一样吗?
等等问题。
我觉得现在自己跟范伟似的好乱呀!呵呵
账号已被封,我运行了你的程序,发现是4个字节。可是为什么我运行的程序只吃16位呢?
#include "dos.h"
main()
{ char ch;
unsigned long result;
ch='1';
if(ch=='1')
{
scanf("%x",&result);
getchar();
printf("result is: %x",result);
/* goto loop; */
}
else
{
}
}
运行程序的时候,我输入:12345678
结果是:result is:5678
为什么
你怎么知道我断臂之袖?
不过非常谢谢你的解答.
确实,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位?