我正在尝试理解"全局变量",并且我正在从教科书中运行一个程序:
它在" 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;
这仅回答您的第一个问题。对于第二个(如果在此处保留(,请检查合理的评论。但是,我建议将其分为自己的问题。