首页 > 代码库 > 经典笔试题:用C写一个函数测试当前机器大小端模式
经典笔试题:用C写一个函数测试当前机器大小端模式
“用C语言写一个函数测试当前机器的大小端模式”是一个经典的笔试题,如下使用两种方式进行解答:
1. 用union来测试机器的大小端
1 #include <stdio.h> 2 3 union test 4 { 5 int a; 6 char b; 7 }; 8 9 int endian_test(void)10 {11 union test t1;12 t1.a = 1;13 return t1.b;14 }15 16 int main(void)17 {18 int i = endian_test();19 if(i == 1)20 {21 printf("is little endian.\n");23 }24 else25 {26 printf("is big endian.\n");28 }29 30 printf("i = %d.\n", i);31 32 return 0;33 }
2. 用指针测试机器大小端
1 #include <stdio.h>2 3 int main()4 {5 int a = 1;6 char b = *((char *)&a);7 8 return 0; 9 }
注: 通信系统中,通信双方数据传送方式中,先发低字节的方式叫小端,先发高字节的方式叫大端。
经典笔试题:用C写一个函数测试当前机器大小端模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。