-4

iの- 番目のバイトがxに置き換えられた値を返す関数を作成しますb

unsigned replace_f (unsigned x, int i, unsigned char b){

}

元:replace_f(0x12345678, 2, 0xBC) --> 0x12BC5678

4

2 に答える 2

2

試しませんでしたが、これはうまくいく可能性があります:

unsigned replace_f (unsigned x, int i, unsigned char b){
    char *c;

    c = (char *)&x;
    c[i] = b;
    return x;
}
于 2012-09-13T05:17:50.853 に答える
2
unsigned replace_f (unsigned x, int i, unsigned char b){
    unsigned char *place = (unsigned char*)&x;
    place[sizeof(int)-i] = b;
    return x;
}

リトルエンディアンを想定

于 2012-09-13T05:23:10.053 に答える