首页 > 试题广场 >

(判断题)局部变量可以和全局变量重名,编译的时候不会出现错误

[单选题]
(判断题)局部变量可以和全局变量重名,编译的时候不会出现错误,但一旦不小心,就可能导致使用错误变量,所以在定义局部变量的时候不要和全局变量重名。
  • T
  • F

T,一般不重名,重名了了用作用域符显示

发表于 2019-10-06 16:47:36 回复(0)
首先确定一点:全局变量和局部变量是可以重名的。
但是在某些情况下误用会造成结果错误。
比如说,全局m=5,局部m=3,想要全局m+局部m,期待结果=8,
使用全局时需要加“::”,如 ::m + m = 8
但是一旦不小心,写成 m + m,结果是5。
写一段伪代码



main(){
    int m = 5;
    f(){
        int m = 3;
        //想要实现全局的m和局部的m相加,结果为8
        ::m + m;//正确写法
        m + m;//错误写法。如果一旦不小心,就可能导致使用错误变量      }
}




编辑于 2021-07-01 17:01:08 回复(0)
应该添加个“尽量”不要和全局变量重名
发表于 2021-07-15 14:04:44 回复(0)
我的理解是有时需要使用局部变量覆盖全局变量(变量名相同,但该区域内变量的值由该区域内设置,不同于全局设置)
发表于 2022-10-26 15:29:05 回复(0)
局部变量是可以和全局变量重名,但有可能会导致运算错误。
发表于 2019-04-11 10:50:05 回复(0)