为什么程序输出是2? 求大佬指教

2025-05-16 14:39:00
推荐回答(3个)
回答(1):

这道题是希望做题的人能搞懂局部变量和全局变量的关系,在题目中,m被赋了两次值,m=13是全局变量,m=3是局部变量,在函数funs中,要用m=3,所以函数的返回值是5*7-3=32
,而在主函数中,由于没有在函数中定义m所以m使用全局变量,即m=13,因此32/13=2.

回答(2):

由于函数funs中定义了m,这个m不是全局变量m,编译程序自动将它们区别对待,可以假定funs中定义的m叫mm,funs中用到的m都是mm而不会是全局变量m
a=7,b=5
funs(a,b): x=7,y=5,返回值=7*5-3=32
funs(a,b)/m=32/13=2

回答(3):

funs(7, 5)返回7*5-3=32,32/13=2,故输出2。