min=(min++)%60

case 0x0e://min++;

                     min=(min++)%60;

                     shi = min/10;

                     ge = min %10;

 分析:

              将min初值设为1时按键时显示的始终是1.

              将min初值设为2时按键时显示的始终是2.

                ………………………………………………

               而这句的执行,应该是(min++)部分先执行,但由于是min++

               所以是先使用了该变量min的值后才将其加1.

                最初想的应该是min%60后将余数赋给min,之后才将min+1,

               但实际的结果却是其值,

               1.        在min<60时,一直保持初值,不发生改变;

                2.        在min>=60时,其显示的值是对60取余之后的余数值;

                 则综合这两点可知:min得到的一直是对60取余之后的余数值;

 

 

所以可以得出一个结论:

 

min在做完右边的运算后,但在赋值操作之前将自身加1,之后才进行赋值运算。这样造成的结果便是,min虽然加1啦,但由于之后又做了一次给min的赋值运算而该值就是min对60取余之后的余数值.

这样可想而知:当min=0时,对60取余之后的余数值=0;之后min+1,此时min变成了1,但之后又将min对60取余之后的余数值=0,赋给了min,所以最终min的值还是0;

 

所以正确的代码应该是:

                       min++;

                      min=min%60;

                       或

                      min++;

                    min%=60;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值