C语言判断机器大小端

#include <stdio.h>

// big_ending:      1
// little_ending:   2

int IsLittleEnding() {
    union {
        short value;
        char array[2];
    } u;
    u.value = 0x0102;
    if (u.array[0] == 1 && u.array[1] == 2) {
        return 1;
    }else if (u.array[0] == 2 && u.array[1] == 1) {
        return 2;
    }
    return -1;
}

int main() {
    int res;
    res = IsLittleEnding();
    printf("result is %d
", res);
    if (res == 1) {
        printf("it is big ending");
    }
    if (res == 2) {
        printf("it is little ending");
    }
}
原文地址:https://www.cnblogs.com/MasonHu/p/14942617.html