起因是群里同学问的代码执行结果,直接把图放上来:

C++随笔

一个是j的输出值,一个是k的输出值。

答案是0和0;

开始还觉得挺简单的,但是如果让我答还不一定能答对。函数里局部变量j的值赋值为全局j的值,而全局变量j没有赋值,默认初值为0;而判断语句判断为真,执行局部变量k的赋值,if语句没有加上花括号{},局部变量k有效范围就是这一句话,如果在if中加上花括号,输出k值,可以看到k值为1。if执行结束后k值被释放,再输出k值的时候,就为全局变量k的值了,所以输出为0.

相关文章:

  • 2021-07-29
  • 2021-07-11
  • 2022-01-30
  • 2021-10-19
  • 2021-06-21
  • 2021-08-27
  • 2022-01-07
  • 2022-02-16
猜你喜欢
  • 2021-08-03
  • 2021-06-20
  • 2021-06-20
  • 2021-10-24
  • 2021-08-17
相关资源
相似解决方案