写一个大小端转换程序

void to_big_endian(uint32_t a,void *b)
请将a转换为大端表示,保存在b指向的内存里
请确保该程序在大端机器和小端机器上都能运行

void to_big_endian(uint32_t a,void *b)
{
        static uint32_t mem=0;
        union w
        {
            int a;
            char b;
        } c;

        c.a = 1;//printf("isLittleEndian: %d\r\n", c.b);//返回1则是小端,否则是大端
        if(c.b)
        {
              mem =  (a & 0x000000FFU) << 24 | (a & 0x0000FF00U) << 8 | 
        ( a & 0x00FF0000U) >> 8 | (a & 0xFF000000U) >> 24;
        }
        else
        {
                mem=a;
        }  
}