1.代码1
c
#include<stdio.h>
int check_sys(){
int a=1;
return *(char*)&a;
//将int*强制转换为char* 判断一个字节的内容就知道当前存储模式
}
int main(){
if(1==check_sys())
printf("小端");
else
printf("大端");
return 0;
}
2.代码2
使用联合体判断大小端。
char和int共用一段空间。将int赋值为1,判断char值,就相当于判断int中的第一个字节值是多少。
c
#include<stdio.h>
int check_sys(){
union un{
char c;
int b;
}u;
u.b=1;
//返回1 小端 返回0大端
return u.c;
}
int main(){
if(1==check_sys())
printf("小端");
else
printf("大端");
return 0;
}