C函数如何不通过传参修改外部变量

原创 2016-10-21 13:18:05 492
摘要:void fun_a(void) {   .... }      int main() {     int x = 5, y = 6;     fun_a();
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);
}


发布手记

热门词条