2017-11-25 150 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 

標識符必須以字母或下劃線開始,數字是不允許的。