TEXT3.C(5): 错误 C141: syntax error near '0x82' 大佬们这处怎么改啊

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0xff}; //0,1,2,3,4,5,6,7,8,9,关显示
uchar b,d,t; //定义变量
uchar fen=10,miao=0; //定时初始时间变量
uchar flag; //标志位
uchar temp; //矩阵键盘键值
sbit beep = P1^7; //蜂鸣器

第1个回答  2019-03-12
uchar code tab[]

这里有问题。
uchar在上面有define,tab是数组名,code是个啥?在reg52.h里有定义?本回答被提问者采纳
第2个回答  2019-03-12
因为你在定义SW_Port时#define .... P2; P2后面有个分号,那么SW_Port就相当于“P2;”了
所以编译器在使用就相当于“P2;=0xff;”,这句当然是错的
所以在预定义的时候,千万记住,你定义中写的任何字符都会被引用进去追问

P2;=0xff;我有这句吗

本回答被网友采纳