相关疑难解决方法(0)

C中#define预处理器的范围

范围#define是直到文件的结尾.但它从哪里开始.基本上我尝试了以下代码.

 #include<stdio.h>
 #include<stdlib.h>
 #define pi 3.14
 void fun();
 int main()
{
 printf("%f \n",pi);
 #define pi 3.141516
    fun();
return 0;
}
void fun(){
printf("%f \n",pi);}
Run Code Online (Sandbox Code Playgroud)

上述程序的输出结果如下

3.140000
3.141416
Run Code Online (Sandbox Code Playgroud)

考虑到主要的预处理,pi的值应该是3.141516并且在主3.14之外.这是不正确的,但请解释原因.

c c-preprocessor

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×1

c-preprocessor ×1