C语言恶心题目

来源:互联网 发布:期货数据下载 编辑:程序博客网 时间:2024/04/28 06:52
#include <stdio.h>void main(){    int a = 0x12345678;    int b = 0x567890AB;    int c = 0x7890ABCD;        char * p = (char*)&a;    char * q = p + 2;    int x = *(int*)q;        printf("x=%X",x);}

其实这个结果是不确定的,主要还是看编译器在a的地址后面填充的是什么东西。

#include <stdio.h>int  main(){    int b = 0x567890AB;    //调换下位置    int a = 0x12345678;    int c = 0x7890ABCD;        char * p = (char*)&a;    char * q = p + 2;    int x = *(int*)q;        printf("x=%X",x);    return 0;}
90AB1234