c语言 中 一个函数能调用另一个函数中的#define变量吗

rt
对了 如果是在另一个.c 文件里 定义的#define 在另一个.C里能用吗?

正像上面的那个朋友所说的,#define是宏定义,但是说是“最先编译”的有点不准确,因为编译的话是将代码转换成机械码的过程。而宏是在编译之前由编译器先替换成要替换的字符或字符串的,我感觉用“翻译”会更准确。
明白了上面这段,下面你问的也就好解决了!
int add(int a, int b){
#define PI 3.14
……
}

int reduce(int a, int b){
int m = PI;
……
}
#undef PI

……

在#define和#undef之间的PI在编译前都会被替换成3.14,所以是有效的。到这里的话其它的你也就应该都明白了!但是就像上面的朋友说的一样,不提倡这么用!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-07
#define 是宏定义,是最先编译的,我们使用宏定义一般不在函数内定义,因为这样做意义不大而且容易造成你提问的理解问题,为了避免不好了解,建议在函数外定义,这样每个函数都可以使用,才显示出它的意义。本回答被提问者采纳
第2个回答  2011-11-10
不可以的,要用全局变量
第3个回答  2011-11-07
可以 但是一开始就把它定义好
第4个回答  2011-11-07
定义成全局变量就可以!
相似回答