如果机器是 32 位 little-endianess 并且 sizeof(int) 是 4 字节。
给定以下程序:
line1: #include<stdio.h>
line2: {
line3: int arr[3]={2,3,4};
line4: char *p;
line5: p=(char*)arr;
line6: printf("%d",*p);
line7: p=p+1;
line8: printf("%d\n",*p);
line9: return 0;
}
什么是预期的输出?
A: 2 3
B: 2 0
C: 1 0
D: 垃圾值
困扰我将整数指针转换为字符指针的一件事。
选角有多重要?
编译器在第 5 行做了什么?(
p = (char *) arr;)第 7 行发生了什么?(
p = p + 1)如果输出是
20那么如何0打印出来?