[C语言] 请各位帮我看看这是出什么问题了?

[复制链接]
1714|9
 楼主| jyynl 发表于 2014-4-3 17:36 | 显示全部楼层 |阅读模式
本帖最后由 jyynl 于 2014-4-3 17:37 编辑


我明明已经定义过i了为什么它说i是undefined identifier?整个程序里到处都显示这样的错误
之前有#define uchar unsigned char,而且即使不用uchar,把都写成全的unsigned char也还是不行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
huangxz 发表于 2014-4-3 18:02 | 显示全部楼层
用typedef 吧
ok0987 发表于 2014-4-3 18:06 | 显示全部楼层
把定义放在“cs=0”上面
amwrdfe 发表于 2014-4-3 18:20 | 显示全部楼层
cs = 0 这句
 楼主| jyynl 发表于 2014-4-3 18:35 | 显示全部楼层
ok0987 发表于 2014-4-3 18:06
把定义放在“cs=0”上面

果然是,太感谢了!这是Keil的规定吗,函数中的定义必须放在所有赋值语句之前?为什么这样规定呢?
 楼主| jyynl 发表于 2014-4-3 18:36 | 显示全部楼层
amwrdfe 发表于 2014-4-3 18:20
cs = 0 这句

多谢多谢,解决了
ok0987 发表于 2014-4-3 22:16 | 显示全部楼层
jyynl 发表于 2014-4-3 18:35
果然是,太感谢了!这是Keil的规定吗,函数中的定义必须放在所有赋值语句之前?为什么这样规定呢? ...

这个还真不知道。曾经自己出过这个问题,所以知道。我想可能就跟函数声明似的,放在cs=0前就相当于定义+声明。而放在放在后面就只是一个定义,却没有声明了。个人理解,不知正确与否。
望断云山 发表于 2014-4-3 22:59 | 显示全部楼层
变量要先声明后使用,标准c的规范,变量声明必须放在函数或文件的开头
dj狂人 发表于 2014-4-6 21:49 | 显示全部楼层
ok0987 发表于 2014-4-3 18:06
把定义放在“cs=0”上面

呵呵,一开始还真没看出来问题再这
chuying1990 发表于 2014-4-11 12:57 | 显示全部楼层
这个问题我也遇到过,把CS=0放到两个uchar变量定义的后面就行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

102

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部