编译器无法理解'_FILE_'为什么?

-1 c macros file

我使用C代码中的Code :: Blocks和C代码,并且有一些错误.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define SQRT(num)    \
((num>0)    ?\
(sqrt(num)): \
(printf("the number is negative")))

int main() {
    printf("The file %s is executeD \n", _FILE_);
    printf("the sqrt of number %d is %f \n",8,SQRT(8));
    printf("the sqrt of number %d is %f \n",9,SQRT(9));
    printf("the sqrt of number %d is %f \n",-9,SQRT(-9));

    return 0;
}       
Run Code Online (Sandbox Code Playgroud)

hmj*_*mjd 7

__FILE__不是_FILE_.