对不起,如果我不解释这个,我应该...... 我已经在控制台主页中编写了以下代码。
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写入控制台?
答案 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打印。