为什么此代码在列中输出4321?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么此代码在列中输出4321?相关的知识,希望对你有一定的参考价值。

我正在在线进行一些C#测试,并且遇到了以下代码:

using System;
namespace ProgrammingExercise
{
class FindOutput
    {
     static void Main(string[] args)
     {
     int num= 1234, r;
     while (num > 0)
      {
          r = num % 10;
          num = num / 10;
          Console.WriteLine(+r);
      }

      }
    }
}

我对Main()中的第一行有些困惑。这是否意味着num = 1234 = r?我也不明白为什么写成+ r ...它是做什么的?

编辑

评论后,这更有意义,我正在写我认为有效的方式:

  1. 同时计算为真(1234> 0)
  2. r = 1234%10 = 4
  3. num = 1234/10 = 123(由于num是一个int,因此无法得出123.4)
  4. 4已打印...继续执行直到条件评估为假。
答案

宣言

 int num= 1234, r;

是]的缩写>

 int num= 1234;
 int r;

它没有将r分配给1234,您不能在C#中更改数字的值。

前缀运算符+并不是特别有用,因为它只是意味着'保持当前符号',在这种情况下+r与单独写入r没有任何不同的效果。

以上是关于为什么此代码在列中输出4321?的主要内容,如果未能解决你的问题,请参考以下文章

RODBC::sqlSave() 创建表,警告:在列中截断为 255 个字节?

在列中找到下一个空单元格时避免合并单元格

在列中显示终端输出以有效地查看更多输出

多个 if 循环条件并在列中打印输出

滚动百分位函数在列中输出 0?

RODBC :: sqlSave()创建表,警告:在列中截断为255个字节?