【发布时间】:2015-01-10 08:56:13
【问题描述】:
我在一本书中找到了这个代码示例,但我无法理解 printf 语句中的表达式。 该程序编译成功,输出为 4。 请指教...
void main(){
unsigned char c;
typedef struct name {
long a;
int b;
long c;
}r;
r re = {3,4,5};
r *na=&re;
printf("%d",*(int*)((char*)na + (unsigned int ) & (((struct name *)NULL)->b)));
}
【问题讨论】:
-
您知道
main在 C(和 C++)中的返回类型为int? -
这个确切的程序是3年前发布的,我猜是一本普通的书!