1を整数intに格納し、charに割り当てると、データの格納方法と判断されます(共同記憶特性の悪用)。
ビッグエンディアン記憶の場合、c = 0、戻り値は0です。
それ以外の場合、リトルエンディアンストレージ、c = 1、戻り値1。
#include<stdio.h>
int CheckSystem() {
union Check {
int n;
char c;
}u;
u.n = 1;
u.c = u.n;
return u.c == 1;
}
int main()
{
printf("%d", CheckSystem());
return 0;
}