第二题里面第一个空5 25和第二个空的12 2都是怎么来的啊 讲一下运行逻辑呗

第二题里面第一个空5 25和第二个空的12 2都是怎么来的啊 讲一下运行逻辑呗
第二题里面第一个空5 25和第二个空的12 2都是怎么来的啊 讲一下运行逻辑呗
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qzjhjxj 2024-09-05 15:08关注
在void num()函数里,声明 extern int x,y; 表示这两个变量 x y 是函数外部定义的变量,它们的作用域是全局的,它们的生命周期直到主函数运行结束才会结束,所以在函数里对它们的改变一直保留到代码运行结束,也就是在 num() 函数里 x=5,y=25一直保留且在主函数输出。
当在 num() 函数里不加 extern 修饰而定义 int x,y; 时,表示两个变量为函数内的局部变量,它们的生命周期随 num() 函数运行结束而结束,即在函数运行结束时变量 x y 也随之释放,也就是在 num() 函数里 x=5,y=25 随着函数运行结束,这两个局部变量也就不存在了,主函数里输出的仍然是 x= 12 y = 2 。解决 无用评论 打赏 举报