解决方法
在C中,您的代码格式不正确(您有多个变量i的定义),即需要一个符合标准的编译器才能发出错误消息
$3.2.1(C 03)
No translation unit shall contain more than one definition of any variable,function,class type,enumeration type or template.
在C99中,您的代码调用未定义的行为,因为6.2.2 / 7说
If,within a translation unit,the same identifier appears with both internal and external linkage,the behavior is undefined.