【发布时间】:2025-12-08 21:40:02
【问题描述】:
我用代码块用 main.c 做了一个项目:
#include <stdio.h>
#include "t.h"
int main()
{
printf("%c\n", return_f('f'));
printf("%c\n", return_f(return_char(71)));
printf("%d\n", STATIC_INT);
return 0;
}
还有:
static int STATIC_INT = 14;
static unsigned char return_char(char n){
return (n/2 + 9);
}
unsigned char return_f(char n){
return ((n=='f' || n=='F') ? n+1 : 'f');
}
既然我假设static 应该将全局变量和函数限制在他们的文件中,那么它如何允许运行/打印出来:
g
f
14
或者这不是它应该如何工作的?
【问题讨论】:
-
如果在 Linux 中使用 gcc;试试这个 gcc -E main.c 你应该能找出其余的
-
@JETM 不是重复的 IMO。您链接的问题只是在.h 中声明但仍在.c 中定义。这个问题是关于在.h中定义的。
标签: c