【问题标题】:how - 5%3 is equal to - 2? [duplicate]- 5%3 如何等于 - 2? [复制]
【发布时间】:2015-09-02 06:04:34
【问题描述】:

我现在正在学习 C 基础知识。我有一个让我有点困惑的问题。
我的问题是以下程序的输出如何 - 2 ?

  #include<stdio.h>
    int main()
   {
    printf("%d", -5%3);
    return 0 ;
   }

【问题讨论】:

  • 那不是编程,是数学……
  • 根据您使用%` with negative numbers gives you different results. In The C89` 标准编译程序的C 标准,说明如果任一操作数应为负数,则表示除法或取模的结果可以向上或向下舍入。所以-5 \ 3 可以是-1-2。对于% 的情况,如果xy 两个数字中的任何一个为负数,则x % y 的符号取决于C89 中的实现。在C99 中,除法的结果被截断为零。这意味着-5 \ 3-1-5 % 3-2

标签: c printf modular-arithmetic


【解决方案1】:

% 运算符为您提供整数除法后的余数。 然后 -5/3 = -1-2 作为除法的余数,分别为 3*(-1)=-3 和 -5-(-3)=-5+3=-2。

【讨论】:

  • @cybersoft 抱歉。我编辑了。
猜你喜欢
  • 1970-01-01
  • 2012-01-17
  • 2015-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
相关资源
最近更新 更多