写一段代码来判断操作系统是否是16位,不能使用sizeof()。
系统是win7 64位操作系统,但代码运行结果却显示为16bit,如下图:
求解释!
不要用int
,请用unsigned int
,因为带符号的整型数直接以0取反会得到负数,无符号整型数则不会。
判断指针长度就行了
sizeof(int *)==4 ? "32 bit" : "16 bit"
printf("int is %d byte long\n", sizeof(int));
说实在的,一般情况下写程序判断系统是多少位的不靠谱,因为程序的数据类型以及指针等和编译器有很大关系。
说实在的,一般情况下写程序判断系统是多少位的不靠谱,因为程序的数据类型以及指针等和编译器有很大关系。