问答详情
源自:5-10 局部与全局

fn1(2); 为什么输出y=4,请大神指导下

https://img3.mukewang.com/5b68116c0001fc3303260361.jpg没有看懂,请指教

提问者:慕莱坞9938358 2018-08-06 17:15

个回答

  • 慕前端9550472
    2018-08-06 17:56:58
    已采纳

    因为在main函数内调用fn1函数时给了个初始值2【代码为 fn1(2);】而在 fn1函数中定义了一个局部变量x【代码为fn1(int x);】即2便是x的值。故而在调用fn1函数后  会输出y=2+2=4。

    虽然在本次代码中有定义了相同全局变量x ,但是在函数内的运算中如果有局部变量,则以局部变量(他的值等)进行运算。

  • qq_这个名字有点长_0
    2018-08-06 17:42:51

    调用了fn1(2)函数时,此时x的值为2