C89中以下每个表达式的值是多少?(如果表达式可能包含多个值,则给出所有可能的值.)
a) 8/5
My answer 1
b) -8/5
A : -1
c)8/-5
A: -1
d)-8/-5
A:1
e)8 % -5
Answer: output is 3 but why?
Also,are the other answers correct?
Run Code Online (Sandbox Code Playgroud)
b),c)和e)的结果是实现定义为整数除法舍入方向,负操作数是在c89中实现定义的.在c99中,舍入为零,但在c89中,它是实现定义的.
例如:
-8/5
Run Code Online (Sandbox Code Playgroud)
结果可能是-1(截断为零)或-2(截断为负无穷大).
同样的8 / -5.
8 % -5结果可以3(截断为零)或-2(截断朝向负无穷大).
| 归档时间: |
|
| 查看次数: |
302 次 |
| 最近记录: |