OpenEdv-开源电子网

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

(++a)%b是什么意思

[复制链接]

349

主题

520

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1625
金钱
1625
注册时间
2014-7-11
在线时间
285 小时
发表于 2017-10-25 18:42:41 | 显示全部楼层 |阅读模式
2金钱
(++a)%b是什么意思
是不是a++再被b取余?
类似于a%10?

最佳答案

查看完整内容[请看2#楼]

a++; a%b; 加了括号应该很好识别优先级了。 没加括号的直接打回,再犯就开除。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8024
金钱
8024
注册时间
2014-8-13
在线时间
1595 小时
发表于 2017-10-25 18:42:42 | 显示全部楼层
a++;
a%b;
加了括号应该很好识别优先级了。
没加括号的直接打回,再犯就开除。
回复

使用道具 举报

1

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
136
金钱
136
注册时间
2017-10-12
在线时间
76 小时
发表于 2017-10-25 19:48:16 | 显示全部楼层
mack13013 发表于 2017-10-25 19:01
a++;
a%b;
加了括号应该很好识别优先级了。

…………
回复

使用道具 举报

1

主题

430

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1461
金钱
1461
注册时间
2011-12-1
在线时间
110 小时
发表于 2017-10-26 09:45:14 | 显示全部楼层
本帖最后由 xlong_06 于 2017-10-26 09:46 编辑

比如说你之前a为10,b为2,先执行++a,之后a变为11,然后对b求余,就是11除以2的余数,结果就是1。
回复

使用道具 举报

17

主题

354

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2017-5-21
在线时间
340 小时
发表于 2017-10-26 10:44:58 来自手机 | 显示全部楼层
xlong_06 发表于 2017-10-26 09:45
比如说你之前a为10,b为2,先执行++a,之后a变为11,然后对b求余,就是11除以2的余数,结果就是1。

正解。。。!
回复

使用道具 举报

349

主题

520

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1625
金钱
1625
注册时间
2014-7-11
在线时间
285 小时
 楼主| 发表于 2017-10-26 13:47:30 | 显示全部楼层
如果a++=5,b=7结果是多少?是5?
回复

使用道具 举报

12

主题

228

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1730
金钱
1730
注册时间
2016-3-8
在线时间
678 小时
发表于 2017-10-26 14:16:34 | 显示全部楼层
ddfha1 发表于 2017-10-26 13:47
如果a++=5,b=7结果是多少?是5?

这种问题就不该问的,直接调试运行程序就清楚了。
如果写成++a%b这样,语法是没错,但是经常让人恼火。

“加了括号应该很好识别优先级了。
没加括号的直接打回,再犯就开除。”
回复

使用道具 举报

2

主题

91

帖子

0

精华

高级会员

Rank: 4

积分
509
金钱
509
注册时间
2016-11-16
在线时间
111 小时
发表于 2017-10-26 14:17:29 | 显示全部楼层
“加了括号应该很好识别优先级了。
没加括号的直接打回,再犯就开除。”
回复

使用道具 举报

16

主题

203

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1900
金钱
1900
注册时间
2015-7-5
在线时间
484 小时
发表于 2017-10-26 20:14:51 | 显示全部楼层
这是不规范的写法  。尽量避免
回复

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8024
金钱
8024
注册时间
2014-8-13
在线时间
1595 小时
发表于 2017-10-27 02:49:35 | 显示全部楼层
adlu 发表于 2017-10-26 14:16
这种问题就不该问的,直接调试运行程序就清楚了。
如果写成++a%b这样,语法是没错,但是经常让人恼火。
...

这样写,不是直接调试运行程序就能解决问题的,因为不同编译器对同样的语法有不一样的解释(尽管C/C++有这样那样的标准),比如Turbo C和MS的编译器对一些语法的优先级认定就不一样,所以,同样的语法,在不同的编译环境下,运行结果是不一致的,这一点在开发中是一定要杜绝的。

其次,这里如果发生错误,debug的花费要比规范写法高太多,甚至debug时间高出code时间几倍去。


我是很反对大学计算机2级里神经病一样的前++  后--之类的运算优先级判定类的试题的,因为纠缠这个东西会让你失去大局观。我的本意是如何去建设发展一个国家,一个城市,你却要我对砖头用什么样的花纹讨论个不休...
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 10:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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