XCode(C编程)中编译时的全局变量错误



我正在尝试理解"全局变量",并且我正在从教科书中运行一个程序:

它在" Xcode版本9.3(9E145("中给出了一个错误,错误是:

重新定义'glob'为不同的符号

#include <stdio.h>
void add(void);
void sub(void);
int glob = 10;
int main(void)
{
  add();
  printf("Val = %dn", glob);
  sub();
  printf("Val = %dn", glob);
  return 0;
}
void add(void)
{
  glob++;
}
void sub(void)
{
  glob--;
} 

我有一个问题:

为什么Xcode给出此错误?

不要问为什么。但是,您的一位编译器(或者也许只是雄心勃勃的语法 - 刺激力量(很清楚地说,以前曾将glob视为其他事物的标识符。
搜索,我没有发现任何明显的东西,而且肯定很奇怪,在简短的代码中,只有最广泛的包含包含的编译器具有不同的意见。

但是,解决问题的直接方法应该是将glob重命名为不同的东西。使用更长的名称,并增加了一些建议,这不会受到伤害。略微夸张的建议将是

int globalvariableofunusedname = 10;

这仅回答您的第一个问题。对于第二个(如果在此处保留(,请检查合理的评论。但是,我建议将其分为自己的问题。

相关内容

  • 没有找到相关文章

最新更新