求C语言高手赐教: 下面程序提示错误:error C141:syntax error near 'unsigned';还有说p没有定义,为什么

#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharucharcodetable[]="OhMy... #include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]="Oh My God";
void delay_ms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void com_init()
{ TMOD=0x20;//T1,方式2(自动装载)
TH1=0xfd;//赋初值,波特率9600bps
TL1=0xfd;
SM0=0;//串行口方式1(10位异步收发),8位数据,波特率可变
SM1=1;
PCON=0x00;
TR1=1;
}
void main()
{
com_init();
unsigned char *p;
while(1)
{
p=table;
while(*p!='\0')
{
SBUF=*p;
while(!TI);//等待发送完毕
p++;
TI=0;//发送中断标志清零
delay_ms(100);
}
delay_ms(1000);
}
}
展开
 我来答
qjb910702
2013-01-27 · TA获得超过190个赞
知道答主
回答量:114
采纳率:0%
帮助的人:38.2万
展开全部
用的KEIL? 把
unsigned char *p;放在com_init();前面试一试
追问
我用的是KEIL,按你说的做,程序可以编译成功!但为什么unsigned char *p一定要放在com_init()前面呢?能不能解释一下~~~~
追答
keil编译器设定的时候  声明变量必须在其他操作语句的前面,否则编译的时候就会出现各种奇葩问题,嘿嘿,算是一种经验吧。VC++就没有这种问题,和编译器有关系
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式