首页 > 试题广场 >

考虑下面的程序,它由两个目标模块组成: * foo6.c

[问答题]
考虑下面的程序,它由两个目标模块组成:
/* foo6.c */               /* bar6.c */
void p2(void) ;        #include <stdio. b>
int main(){              char main;
p2();                       void p2()
return 0;                 {
}                                  printf ("0x%x\n", main) ;
                               }
当在x86-64 Linux系统中编译和执行这个程序时,即使函数p2不初始化变量main,它也能打印字符串“0x48\n” 并正常终止。你能解释这一点吗?

这道题你会答吗?花几分钟告诉大家答案吧!