zoukankan      html  css  js  c++  java
  • 当局部变量遇上全局变量——extern及花括号用法举例

    请阅读以下代码并说出它的输出结果。

     1 #include <stdio.h>
     2 
     3 int val = 9;
     4 
     5 int foo()
     6 {
     7     int val = 2; 
     8     {
     9         extern int val;
    10         printf("val_foo = %d
    ", val);
    11     }
    12     return val;
    13 }
    14 
    15 int main()
    16 {
    17     int val = 0;
    18     printf("val_main1 = %d
    ", val);
    19     val = foo();
    20     printf("val_main2 = %d
    ", val);
    21     system("pause");
    22     return val;
    23 }

    在Dev-C++下编译后运行,输出结果如下:

    val_main1 = 0
    val_foo = 9
    val_main2 = 2
    请按任意键继续. . .

    结论:

    1. 当局部变量和全局变量名称相同,如果未作外部变量声明,在代码块中局部变量起作用。

    2. 当使用extern声明为外部变量,需要用花括号使声明和引用位于同一个代码块,此时全局变量才起作用。

  • 相关阅读:
    {purple8}
    {purple7}
    {暴力}
    uva1103(dfs)
    {purple5练习题}
    c++复习题
    关于继承
    lrj紫书第五章
    20个Linux系统监视工具
    linux上配置jdk+Apache
  • 原文地址:https://www.cnblogs.com/geekham/p/4267851.html
Copyright © 2011-2022 走看看