c#console,about / and%operator(可能是基础知识)

时间:2014-05-02 09:34:11

标签: c# console operators

对不起,如果我不解释这个,我应该...... 我已经在控制台主页中编写了以下代码。

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写入控制台?

2 个答案:

答案 0 :(得分:2)

因为

(myint / 16) == 0

仅在myint小于16时才为真。 5/16是0因为你正在划分整数(结果向下舍入)。

此外,输出从1开始,

myint++ 
在if / Console.WriteLine之前

,你的myint初始化为0.

答案 1 :(得分:1)

因为您正在执行Integer division。任何小于16 (myint / 16)的数字将得到零作为结果,其结果为true,因此它从1-15打印。