你的代码在Debug版本出现问题了,函数运行到某个未初始化的数据区域,对于未初始化的变量,编译器默认会帮我们初始化为0xCCCCCCCC,对应汇编指令int 3 void _tmain() { int a = 0xCCCCCCCC; void (*f)() = (void (*)())&a; f(); }