void fun_a(void) { .... } int main() { int x = 5, y = 6; fun_a(); printf("%d, %d", x, y); return 0; }
请问 fun_a 函数内部如何实现能够改变程序输入不为5,6?[一道笔试题,考虑了很久,感觉可以通过指针hack外部变量,但是没有进一步思路]
答:如果算偏移影响因素太多(机器字长、编译器优化),只是希望修改程序输出,那直接输出并退出就好了:
void func_a(void) { printf("2, 3"); exit(0); }