返回C函数如何不通......登陆

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

高洛峰2016-10-21 13:18:05505
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);
}


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送