C++面试题集锦:赋值语句相关

马谦马谦马谦 C/C++评论248字数 292阅读 0 分 58 秒阅读模式

一、未定义变量的初始值和变量作用域

下列 C/C++代码的输出结果是什么:

c 语言中,局部变量的优先级会高于全局变量。这里 int i = i; 中的 i 和全局变量中的 i 是无关的。

对于全局变量和静态变量,没有初始化系统会默认置零。而局部变量和自动变量没有初始化初始值是一个随机的未定义的值。所以这里的输出也是一个无法预见的值。

经过测试,在较高标准的编译环境中,不管是全局变量还是局部变量,都会默认初始化为 0 。

本例在 【VC6 】环境下 i 是随机值,在 【gcc version 4.4.7 20120313 (Red Hat 4.4.7-18 】环境下 i 是 0 。

  最后更新:2020-1-25
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2018 年 1 月 13 日 22:47:20
  • 转载请务必保留本文链接:https://www.dyxmq.cn/program/code/c-cpp/cpp-mianshi-fuzhi-yuju.html
C/C++中struct和class的区别 C/C++

C/C++中 struct 和 class 的区别

一、 class 和 struct 的区别 C++中 class 和 struct 的区别: 继承权限,struct 的默认继承权限为 public,class 的默认继承权限为 private 。 访问权限,struct 的默...
指针和引用的区别 C/C++

指针和引用的区别

区别: 指针是一个变量类型,引用只是一个变量别名。 指针可以不用初始化,引用必须初始化。 指针可以指向空地址,引用不能指向空。 指针初始化后可以修改,引用不能修改。 其他: 引用本质上也是一个指针,内...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证