为什么这个程序运算出来的结果是54 6呢,我怎么算都算不对啊

为什么这个程序运算出来的结果是54 6呢,我怎么算都算不对啊,第1张

是有个方法,就是把结果换算成十进制数字,你可以用你的结果除以10然后获得一个余数,这个余数就是你原来结果的个位数,然后把得到的商继续除以10,得到余数是原来结果的十位数,然后依次继续得到百位数以及后面,直到商为0 ,然后把余数倒着输出,这个方法你高中或者初中应该学过,当然余数先加30h,把他们变成对应十进制的符号的ASCII码才能显示在屏幕上,就可以了,有点绕,不知道懂没,大体步骤就是这样。如果数字太大,就会出现除法溢出,就需要另一种解决除法溢出的方法,但是对于你的1275不会出现除法溢出,如果你要处理更大的数字,就要解决除法溢出的问题

如果for(c1='0',c2='9';c1<c2;c1++,c2 - -);后面的;去掉:

09 //调整c1和c2,这时候判断1<8成立

18 //调整c1和c2,这时候判断2<7成立

27 //调整c1和c2,这时候判断3<6成立

36 //调整c1和c2,这时候判断4<5成立

45 //调整c1和c2,这时候判断5<4不成立成立,打印一个回车

最终屏幕输出为:

0918273645

如果for(c1='0',c2='9';c1<c2;c1++,c2 - -);的;不去掉,那么printf语句会等for循环结束才打印,

这个时候经过如上所述的调整,c1和c2分别变为了5和4,

所以屏幕上会打印出:

54

运行结果是3 2 -1

&& 运算符的判断逻辑是如果前面的为真,那么需要判断后面的,同为真,才返回真。

如果前面的为假,那么后面的运算不需要执行,直接返回假。

++i 的运算逻辑是先执行i=i+1的 *** 作,然后对i之后的值进行判断

i++的运算逻辑是先进行值i的判断,然后执行值的增加i=i+1。

因此,运行的逻辑是这样的:

z=3开始进行判断是否大于0,如果是进行自减变为2,然后判断x+1后的值是否小于5,如果是的话,那么y进行自减1。

因此第一遍循环之后的值z , x , y 分别是

2,1,4

第二遍循环之后的值z,x,y分别是

1,2,3

第三遍循环之后的值z,x,y分别是

0,3,2

第四遍循环的时候,z--小于0为假,不进行++x的运算,因此z,x,y的值为

-1, 3, 2

以上就是关于为什么这个程序运算出来的结果是54 6呢,我怎么算都算不对啊全部的内容,包括:为什么这个程序运算出来的结果是54 6呢,我怎么算都算不对啊、求教C++程序的运行结果以及计算过程、【汇编】如何调用显示程序显示运算结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10084001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存