我试图使用“ <
这是我的代码:

    int main(){

    int a=0;

    int *b;

    b = &a + 1;

    *b=0xffffffff;

    *b<<2;

    printf("%d\n",a);

    return 0;
}

最佳答案

为什么不只是在换档之前先换档。下面的例子:

#include <stdio.h>
#include <stdlib.h>

int lshift(int var,int nbits, int *lost){
    if(lost)
        *lost=var>>((sizeof(int)*8)-nbits);
    return var<<nbits;
}

int main() {

    int n=0xffffdd, // variable n
        l,          // l for lost
        v;          // v for result

    v=lshift(n,16,&l);
    printf( "var n\t= %08X\n"
            "result\t= %08X\n"
            "lost\t= %08X\n",
            n,v,l);
    return 0;
}

关于c - 有没有办法在C中两个连续的存储空间之间移动位?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34837453/

10-11 07:09