单片机c51 c语言编程问题 报错

#include <REG52.H>
#define uchar unsigned char
#define unit unsigned int
sbit guang=P2^4;
sbit shu=P2^5;
uchar num;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delayms(uint);

void main()
{
P2=0xc1;
while(1)
{
for(num=0;num<10;num++)
{
shu=1;
P0=table[num];
shu=0;
delayms(500);
}
}

}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)

for(j=110;j>0;j--);

}
这是程序 但是报警显示
1.C(9): error C141: syntax error near 'xms', expected ')'
1.C(11): error C141: syntax error near 'i'
1.C(11): error C202: 'i': undefined identifier
1.C(12): error C202: 'i': undefined identifier
1.C(14): error C202: 'j': undefined identifier
1.C(18): error C141: syntax error near 'void'
Target not created
我查了一下好像是顺序问题 求大神改正

#include <REG52.H>
#define uchar unsigned char
#define unit unsigned int
uint 书写错误
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-18
#include <REG52.H>
#define uchar unsigned char
#define uint unsigned int
sbit guang=P2^4;
sbit shu=P2^5;
uchar num;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delayms(uint xms);
void main()
{
P2=0xc1;
while(1)
{
for(num=0;num<10;num++)
{
shu=1;
P0=table[num];
shu=0;
delayms(500);
}
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
第2个回答  2013-09-18


红圈内应该是 uint 

第3个回答  2013-09-18
类型定义错了,将#define unit unsigned int 改成 #define uint unsigned int 就可以了.....别忘了点"采纳哦"
相似回答