Область действия #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);}
Результатом вышеупомянутой программы оказывается
3.140000
3.141416
С учетом предварительной обработки для main значение pi должно быть 3,141516 и вне основного 3.14. Это неверно, но объясните, пожалуйста, почему.