【问题标题】:Why do we add 1 to the count when counting something? [closed]为什么我们在计数时要在计数中加 1? [关闭]
【发布时间】:2019-04-21 03:09:01
【问题描述】:

我在想,为什么我们用count++ 而不是count += 0 来计算偶数的个数?

#include <iostream>
using namespace std;
int main()
{
    int count = 1;

    for (int i = 0; i <= 100; i++)
    {
        if (i % 2 == 0)
            count += 0;  // why it will give me only 1? as output
        else
            continue;
    }
    cout << "num of even: " << count << endl;

    system("pause");
    return 0;
}

【问题讨论】:

  • 好吧,如果你将 0 多次加到一个数字上,那么你在任何地方都找不到......
  • 1 + 0 == 1。您期望从中得到什么输出?
  • 您是说count += 1 吗?
  • 在c++中我们使用++

标签: c++ function loops if-statement boolean


【解决方案1】:

计数 += 0; // 为什么它只会给我 1?作为输出

count += 0 等价于count = count + 0。添加 0 并没有添加任何内容。因此您的变量保持在 1。

为什么我们用 count++ 代替

count++count += 0 不同。它将count 增加1,相当于count += 1

至少,对于count++,您“承认i 是偶数”并因此计算它。 (这背后是一片关于上下文和语言的土地,我不想进入。)

请注意,如果您要遍历大量项目列表,则添加 0 和 1 之间可能存在巨大差异。

【讨论】:

  • 你很有帮助!谢谢
【解决方案2】:

我们将1 添加到count,因为这就是您的计数方式。您从0 开始,当您找到要计算的内容时,您将1 添加到其中。

例子:

Things to count:
      thing       thing thing             thing       thing

Counting:
      add 1       add 1 add 1             add 1       add 1
zero  one   one   two   three three three four  four  five

有五件事。

因为计数是程序员经常做的事情,所以制作 C++ 的人(实际上是制作 C,C++ 所基于的人)决定你可以写 count++ 来表示 count += 1(意思是 count = count + 1 ),但原理是一样的。

【讨论】:

    【解决方案3】:

    请注意count++count+=1 具有相同的效果。如果使用count+=0count 不会改变(与count=count+0 相同)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多