问答详情
源自:5-13 内部函数与外部函数

test.c为啥要加static

test.c是外部函数extern就不可以引用test.c了吗

必要要是static才可以引用自己?

提问者:慕的地0739796 2018-11-24 11:50

个回答

  • 慕仙1492864
    2019-08-12 21:13:14

    执行语句#include "test.c"与引用test.c里的void say函数是同一命令的两种表达方式,都是引用的test.c里函数的内容。当它们同时存在时,两个相同的全局动态变量就会发生冲突。

    解决方法:去掉#include"test.c"

             或者 在void say 前加static使其变为内部函数。