找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4691|回复: 14
收起左侧

明明有分号,C语言编译的时候提示缺少分号

  [复制链接]
ID:723844 发表于 2020-4-29 22:58 来自手机 | 显示全部楼层 |阅读模式
2黑币
救救孩子吧,哭了,请指教一下,万分感谢!

1588172229669.jpg
回复

使用道具 举报

ID:423511 发表于 2020-4-30 07:54 | 显示全部楼层
第十一行的x和temp之间是不是少个下划线。
回复

使用道具 举报

ID:235200 发表于 2020-4-30 08:03 | 显示全部楼层
把第1个错误改正后也许就没有了,头文件改为regx52.h
回复

使用道具 举报

ID:70069 发表于 2020-4-30 08:04 | 显示全部楼层
#define uchar unsigned char TH0 TL0 TH1 TL1
这里是几个意思
回复

使用道具 举报

ID:267719 发表于 2020-4-30 08:36 | 显示全部楼层
第二行宏定义和变量声明怎么一行写了?
另外看编译是没找到at89x51.h
这个头文件声明了特殊寄存器TH0,TL0,TH1,TL1。不需要你第二行的重复声明。
有了头文件,删掉第二行,第二个错误就不存在了。
回复

使用道具 举报

ID:462827 发表于 2020-4-30 08:39 | 显示全部楼层
你的代码乱拷贝来的吧,关注点不对了,你没看到报错信息说头文件打不开么,你的电脑中可能没有那样的头文件,试一下 reg52.h 也好呀。
第二行的宏定义也错了,后面跟了太长的尾巴。

第一行第二行就已是错的,可你却什么不知道。
回复

使用道具 举报

ID:592807 发表于 2020-4-30 08:43 | 显示全部楼层
宏定义出错了
因为你的宏定义是#define uchar unsigned char TH0 TH1 TH2 TL0 TL1
所以当你定义uchar radkey;时等价于(unsigned char TH0 TH1 TH2 TL0 TL1) readkey;
回复

使用道具 举报

ID:597048 发表于 2020-4-30 08:44 | 显示全部楼层
第二行宏定义是什么  把char后面的都去掉
回复

使用道具 举报

ID:597048 发表于 2020-4-30 08:45 | 显示全部楼层
宏定义就是把uchar后面的都定义过来了  
回复

使用道具 举报

ID:46065 发表于 2020-4-30 08:51 | 显示全部楼层
很可能是中文的分号,一模一样的。
回复

使用道具 举报

ID:405033 发表于 2020-4-30 10:19 | 显示全部楼层
本帖最后由 疯子本人 于 2020-5-4 22:38 编辑

把那几行注释一下,看一下是否是中文输入,前面的uchar没定义好
回复

使用道具 举报

ID:452950 发表于 2020-4-30 10:58 | 显示全部楼层
#define uchar unsigned char TH0 TL0 TH1 TL1
改成
#define uchar unsigned char
回复

使用道具 举报

ID:606493 发表于 2020-4-30 11:29 | 显示全部楼层
宏定义有问题,应该是#define uchar unsigned char,这样uchar readkey就相当于unsigned char readkey,定义的是一个无符号字符类型,但是你的宏定义是#define uchar unsigned char THO TLO TH1 TLI,这样uchar readkey就相当于unsigned char THO TLO TH1 TLI readkey,此时定义方式有问题,报错
回复

使用道具 举报

ID:539117 发表于 2020-4-30 14:21 | 显示全部楼层
没有定义,应该这样定义uchar #define uchar unsigned char ,同理uint也这样定义使用
回复

使用道具 举报

ID:741674 发表于 2020-4-30 14:27 | 显示全部楼层
uchar宏定义错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表