-
软件:vc6.0
-
语言:c
-
问题描述:
在main文件定义了一个全局变量
int g_score=0;//分数
在另外一个文件中声明
extern int g_score
希望在含有声明
extern int g_score
的这个文件中对g_score进行
g_score+=10
操作
结果发现第一次走这个语句打印出来的是11而不是10!
进一步打印+=10之前的g_score,发现
竟然等于1而不是主文件定义的0!
-
解决方法:调换定义和声明,即在要操作使用g_score的这个文件中定义全局
int g_score=0;//分数
,而在main文件中声明,即恢复正常。
这是一个奇怪问题,或者说是由于知识能力不足难以给出解释的问题和解决方法,如果知道原因,欢迎交流~
这是本专栏的第一篇!可惜可能快要开学了!以后随缘更新~
版权声明:本文为z5z5z5z56原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。