2017-11-25 103 views
-3

我用我的C程序下面的宏定义,但是,编译后,它给我的错误是宏名应该是标识符。任何人都可以告诉我在定义宏时我犯了什么错误?定义预处理指令给未知的标识符,而编译

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

#define a0 0 
#define x1 1 
#define a1 2 
#define x0 3 
#define x0a1 4 
#define b0 5 
#define b1 6 
#define y0 7 
#define y1 8 
#define y0b1 9 
#define c0 10 
#define z1 11 
#define c1 12 
#define b1 13 
#define z0 14 

#define 1R0 0 
#define 1B0 1 
#define 1W0 2 

#define 2R0 3 
#define 2B0 4 
#define 2W0 5 

#define 3R0 6 
#define 3B0 7 
#define 3W0 8 

#define Running 0 
#define Blocked 1 
#define Waiting 2 
+4

宏标识符(名称)不能以数字开头。 –

+0

'1R0' ......不是标识符 – coderredoc

+2

即使#1 C语法colorizer知道宏标识符不能以数字开头......看看你提供了什么:当资本适当的标识符是黑色或蓝色,那些开始数字是红色的。 – Jens

回答

0
#define 2R0 3 

标识符必须以字母或下划线开始,数字是不允许的。