关于运算符的问题%-连在一起为什么能编译通过?

abcg21_21 2009-04-03 02:27:20
大家好~问个c语言的基础题:4%-6/3最后结果是什么啊,我的答案是1,那中间的-怎么算啊?
...全文
206 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
abcg21_21 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bao001001 的回复:]
the precedence of operator - is higher than operators */%, and operators */% are left associativity.
4%-6/3=(4%(-6))/3=4/3=1(integer).
[/Quote]

as you said,but what about 4-6%3=4...
abcg21_21 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mymuma 的回复:]
如果是减号那%你该怎么看呢,这个题就是运算先后顺序。
[/Quote]
所以我觉的编译出错。。。
bao001001 2009-04-03
  • 打赏
  • 举报
回复
the precedence of operator - is higher than operators */%, and operators */% are left associativity.
4%-6/3=(4%(-6))/3=4/3=1(integer).
mymuma 2009-04-03
  • 打赏
  • 举报
回复
如果是减号那%你该怎么看呢,这个题就是运算先后顺序。
abcg21_21 2009-04-03
  • 打赏
  • 举报
回复
那此时不算是编译有问题么?为甚么此时的-算负号不算减号。。。
ydntlk 2009-04-03
  • 打赏
  • 举报
回复
相当于4%(-6)/3。
4%(-6)=4, 4/3 = 1。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧