c#控制台,关于/和%operator(可能是基础知识)

本文关键字:基础知识 %operator 控制台 关于 | 更新日期: 2023-09-27 18:01:23

很抱歉,如果我没有解释好。。。我已经在控制台主窗口中编写了下面的代码。

int myint = 0;
while (myint < 100) {
    myint++;
    if ((myint / 16) == 0) {
        Console.WriteLine(myint); }
}

现在我不想让它发布16的倍数,所以我把((myint/16(==0(改为((myint%16(==0。。。我的实际问题是,当我使用((myint/16(==0(时,为什么它会向控制台写入1-15?

c#控制台,关于/和%operator(可能是基础知识)

因为

(myint / 16) == 0

仅当myint小于16时为true。所以,例如5/16是0,因为您正在对整数进行除法(结果是向下取整的(。

此外,由于您进行,因此输出以1开头

myint++ 

在if/Console.WriteLine之前,并且您已经用0初始化了myint。

因为您正在执行整数除法。任何小于16(myint / 16)的数字都将产生零作为计算为true的结果,因此它从1-15打印。