2301_79574449 2023-10-30 17:32 采纳率: 88%
浏览 6
已结题

这个全局变量和局部变量如何区分 输出结果怎么看

img


这个全局变量和局部变量如何区分 x=1 printf()
当全局变量和局部变量同名时!如何区分

  • 写回答

4条回答 默认 最新

  • 淡墨浅白 2023-10-30 17:54
    关注

    就近原则,谁离得近就调用谁,一般局部变量肯定离逻辑代码近,如果想要调用同名的全局变量可以用指针的方式,或者extern关键字

    #include <stdio.h>
    int x = 1;
    int main(void)
    {
        int x = 2;
        {
            extern int x;
            printf("Hello,word!%d\n",x);
        }
        return 0;
    }
    
    #include <stdio.h>
    int x = 1;
    int main(void)
    {
        int *p = &x;
        int x = 2;
        {
            printf("Hello,word!%d\n",*p);
        }
        return 0;
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 已采纳回答 10月31日
  • 创建了问题 10月30日