8.5.2 #error命令

error命令用于强制使编译程序停止编译操作的编译指令,并同时输出错误信息提示。该命令主要用于程序调试,其使用的一般形式如下。


error“message”


其中,“message”为显示的错误提示的信息。#error命令的程序示例如下。


include<stdio.h>//头文件

define SCORE 85//宏定义

void main()//主函数

{

ifdef SCORE//条件编译

printf(“SCORE is defined!\n”);//如果宏SCORE存在,则执行该语句

else

error“SCORE is not defined!\n”//如果宏SCORE不存在,则执行该处

endif

ifndef GREED

error“GREED is not defined!\n”//如果宏GREED存在,则执行该处

else

printf(“GREED is defined!\n”);//如果宏GREED不存在,则执行该语句

endif

}


本例中,先定义了宏名SCORE,接着在主程序中通过#ifdef和#ifndef命令来判断宏名SCORE和GREED是否被定义过。如果SCORE没有定义过则停止编译,并输出错误信息“SCORE is not defined!”;如果GREED没有定义过则停止编译,并输出错误信息“GREED is not defined!”。该程序在编译时的输出信息,如图8.1所示。

8.5.2 #error命令 - 图1

图 8.1 编译输出错误信息