gpt4 book ai didi

c - 在我的 C 程序中,全局变量初始化为 1 而不是 0

转载 作者:行者123 更新时间:2023-11-30 19:54:54 25 4
gpt4 key购买 nike

假设我初始化了一个全局变量 F,并在 main 函数中打印它的值,则将打印 0(应该如此)。

但是当我在主函数中传递参数 int F 并以与以前完全相同的方式声明全局变量 F 时,使用 gcc 打印 F 的值会打印 1。

谁能解释一下这是为什么吗?

这是我的代码。

#include<stdio.h>

int F;

int main(int F){
printf("F is %d\n", F);
return 0;
}

最佳答案

当您的主函数包含与全局变量同名的参数时, stub 将引用局部变量..而不是全局变量

 #include <stdio.h>

static int F;

int main(){
printf("F is %d", F);
return 0;
}

关于c - 在我的 C 程序中,全局变量初始化为 1 而不是 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50733366/

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