眼力好的朋友看出来我在学习<30天自制操作系统>
我打算自己照着源码写而不是照抄.可是出现了问题
L105 用来往图层上输出,都测试过,很正常
L103 是限定了i的范围512~767,其中 int i;
L103 和 L104 构成矛盾?!事实上qemu和vmware都打印了结果,那就说明i在没改变的情况下,既==900
又满足 512 <= i <= 767?!
说不过去,望指教
<=是一种运算,如果512小于等于i,则值为1,否则为0.
(512<=900)等于1,1自然小于767
这里应该写else if(512<=i&&i<=767)
顺便提一句,我试着把"i==900"这个条件在整个if控制流里提前了,然后很明显正常,具体原因是真的不晓得啊...(写c的时候总有些奇奇怪怪的情况,比如调用golang的dll,输出顺序也怪的一批,就好比
printf("%s", s"); //C语言的函数
Print("a"); //go的函数
就会先显示a,在显示b,折腾了好几天了...)