面试题答案
一键面试- 输出结果:
- 首先输出
20
。 - 然后输出
10
。
- 首先输出
- 原因解释:
- 在
func
函数中,定义了一个局部变量num
,其作用域仅限于func
函数内部。当执行std::cout << num << std::endl;
时,输出的是这个局部变量num
的值,即20
。 - 在
main
函数中,先调用func
函数输出20
。之后执行std::cout << num << std::endl;
,这里输出的是全局变量num
,其初始值为10
,所以输出10
。全局变量num
的作用域是整个程序,但在func
函数内部,局部变量num
屏蔽了全局变量num
,使得在func
函数内访问的是局部变量。
- 在