gpt4 book ai didi

C 局部变量与函数同名 - 它是如何工作的?

转载 作者:太空狗 更新时间:2023-10-29 16:28:07 25 4
gpt4 key购买 nike

我向绝对初学者教授 C,并且我注意到我的一些学生得到了为函数使用相同名称和函数中的局部变量的概念。我认为这很愚蠢并且会阻止递归。

这是一个例子:

int add2numbers (int a, int b) { /* Tested on Mac OS X with gcc */
int add2numbers = a + b;
return add2numbers;
}

我理解它是如何工作的方式是变量在函数的局部范围内,而函数在全局范围内。

所以,问题...

  1. 我的理解正确吗?
  2. 他们他妈的是从哪里得到这个想法的?

谢谢

最佳答案

你假设函数是全局的而变量是局部的是正确的。这就是为什么你的程序没有冲突的原因。

现在考虑下面给出的程序,

#include<stdio.h>
int x=10;
void x()
{
printf("\n%d",x);
}

int main()
{

x();
return 0;
}

你会得到一个错误,因为在这个程序中函数 x() 和变量 x 都是全局的。

关于C 局部变量与函数同名 - 它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16216768/

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