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