OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3465|回复: 3

关于语法的问题

[复制链接]

22

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
279
金钱
279
注册时间
2017-11-21
在线时间
70 小时
发表于 2018-10-10 17:36:16 | 显示全部楼层 |阅读模式
1金钱
这个问题是关于i+=1的语法
为什么我在keil5写的一个语句是:GimbalRef.yaw_angle_dynamic_ref += GMYawEncoder.ecd_angle;
为什么编译会报错?
但是我将语句改成:GimbalRef.yaw_angle_dynamic_ref =+ GMYawEncoder.ecd_angle;
这样的话为什么编译就不会报错?

i=i+1不是等价于i+=1吗?
那为什么我在keil5写的一个语句是:GimbalRef.yaw_angle_dynamic_ref += GMYawEncoder.ecd_angle;
为什么编译会报错?


微信截图_20181010173534.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-10-11 01:56:16 | 显示全部楼层
你前后两句代码,等号左边的内容不一致。
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-10-11 08:59:20 | 显示全部楼层
目测楼主使用“+=”运算符不好使的原因:
+=两个字符之间不应该有空格。

而楼主使用“=+”运算符好使的原因:编译器认为前面的=是赋值运算符,+一个变量等效于0+一个变量。

通过这个楼主可能理解得更好一些:
2.png
十六进制带我飞。
回复

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2018-10-9
在线时间
3 小时
发表于 2018-10-11 09:16:08 | 显示全部楼层
原子哥说的对,你代码的第21行的运算符错了
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 09:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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