关于宏定义中#undef的使用的问题
#undef 是在后面取消以前定义的宏定义该指令的形式为
#undef 标识符
其中,标识符是一个宏名称。如果标识符当前没有被定义成一个宏名称,那么就会忽略该指令。
我要问的是,如果#undef后面没有东西会怎么样
代码如下
第一,正常输出31.4,无#undef
#include "stdio.h"
#define YUAN 3.14
void display();
int main()
{
display(YUAN);
return 0;
}
void display(double a)
{
double s;
printf("s = %lf\n",a*10);
}
第二无输出,有#undef,
#include "stdio.h"
#define YUAN 3.14
void display();
int main()
{
#undef //undef后面没有写宏名,问题是没有输出,怎么破?
display(YUAN);
return 0;
}
void display(double a)
{
double s;
printf("s = %lf\n",a*10);
}