abstract: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; }
請(qǐng)問 fun_a 函數(shù)內(nèi)部如何實(shí)現(xiàn)能夠改變程序輸入不為5,6?[一道筆試題,考慮了很久,感覺可以通過指針hack外部變量,但是沒有進(jìn)一步思路]
答:如果算偏移影響因素太多(機(jī)器字長、編譯器優(yōu)化),只是希望修改程序輸出,那直接輸出并退出就好了:
void func_a(void) { printf("2, 3"); exit(0); }