gpt4 book ai didi

c - 全局变量和静态变量如何在 C 中协同工作?

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:17 25 4
gpt4 key购买 nike

我必须确定该程序的输出(无需在计算机上运行)。我非常不确定全局变量和静态变量如何协同工作。

#include <stdio.h>

void f(int d);

int a = 1, b = 2, c = 3, d = 4;

int main()
{
int a = 5, c = 6;
f(a);
f(b);
f(c);
printf("%d %d %d %d\n",a,b,c,d);
return 0;
}

void f(int d)
{
static int a = 0;
a = a + 7;
b = a + d;
c++;
d--;
printf("%d %d %d %d\n",a,b,c,d);
}

最佳答案

局部变量定义总是“隐藏”同名的全局变量。内部作用域总是优先于外部作用域。当一个变量“隐藏”另一个变量时,一些编译器也会发出警告。

关于c - 全局变量和静态变量如何在 C 中协同工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14671117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com