标题: C语言count++%8 == 0 的运算顺序是怎么的? [打印本页]

作者: Galan    时间: 2024-4-29 22:17
标题: C语言count++%8 == 0 的运算顺序是怎么的?
count++%8 == 0 的运算顺序是?求指导,谢谢!

作者: zhuls    时间: 2024-4-30 00:09
不清楚运算顺序,加()就可以了,别嫌麻烦!
作者: zhuls    时间: 2024-4-30 00:11
比如:if(((count++)%8) == 0)
作者: Hephaestus    时间: 2024-4-30 00:20
不要研究这些没有意义的“学问”。
作者: wufa1986    时间: 2024-4-30 08:22
典型考试题目,分开写不行吗
作者: 624353765    时间: 2024-4-30 08:36
count%8
count==0
count++
作者: emma2018    时间: 2024-4-30 13:38
先加加在求余,然后在判断
作者: angmall    时间: 2024-4-30 14:55
运算顺序
count++
count%8
count==0
作者: 刘佑红    时间: 2024-4-30 16:13
7楼和8楼说的对。
作者: ohh132    时间: 2024-4-30 16:46
优先级:++大于%大于==
先进行 count++,然后用结果去 mod 8,最后判断是否等于 0,count 的值会在整个表达式求值之后才增加 1
作者: 五六    时间: 2024-4-30 19:39
首先执行 count++,然后再计算结果与 8 求余。
作者: 624353765    时间: 2024-5-1 17:20
624353765 发表于 2024-4-30 08:36
count%8
count==0
count++

本楼才是正解
作者: 624353765    时间: 2024-5-1 17:22
6楼才是正解,其他楼都是来搞笑的
作者: Y_G_G    时间: 2024-5-4 10:56
624353765 发表于 2024-5-1 17:22
6楼才是正解,其他楼都是来搞笑的

你才是来搞笑的,沙发是正解
括号能让代码看起来更加的直观,让人就感觉到先做这个,再做那个......
在逻辑处理时,特别是要处理的对象是好几个时,括号就显得很重要了
如果不加括号,你得先看完整个if语句,然后再去想象一下,哪个先运算,谁比谁级别高......太麻烦了
有了括号,我就可以直接的看过去,123456一共就6个条件.......
所以,加一些"不需要"加的括号,这也是一门技术
作者: 188610329    时间: 2024-5-4 15:40
有啥好讨论的? 一个 ctrl + F5 的事情。



运算顺序来讲  ++   ,   %8   ,  ==
唯一要注意的是,判断的基础是 ++ 前的值。
之所以强调 ++ 的顺序,是被中断打断时,即使 还没有进行判断,但是count 的值已经改变了。

作者: cnos    时间: 2024-5-4 19:58
看似很高级,实则一巴掌。写代码不要炫技,分三行写和加括号编译出来的结果并不会多占程序代码空间。
作者: ziyueboy    时间: 2024-5-4 23:32
累不累,还得查书,看优先级,直接括号完事!

老师告诉我们,优先级得学,学了未必用,遇到犹豫不决,直接括号
作者: ZSJM    时间: 2024-5-5 06:26
188610329 发表于 2024-5-4 15:40
有啥好讨论的? 一个 ctrl + F5 的事情。

这种方法最严谨.

也就是实际执行等于以下代码
A=count%8
A==0
count=count+1

后++, 也就是++的值不影响当前运算, 只在此语句后生效.

作者: @西风    时间: 2024-5-6 17:42
主要是这块的的内容,运算符优先级




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1