zoukankan      html  css  js  c++  java
  • C++ "+="等运算符使用bug

    昨晚写了一个程序,使用了“+=”运算符,结果总不是我想要的,查了一晚没找到,今早才发现:

    timeInterval = tpImP.staTime - imgPara[serial - 1].endTime;
    imgPara[serial - 1].staTime -= timeInterval / 2 - 5;
    imgPara[serial - 1].endTime += timeInterval / 2;
    

    由于timeInterval总等于5,所以staTime与endTime总是相等,但是一个加一个减,并且前一个多减了5,怎么会相等呢?

    后来反复测试发现,“-5”实际上变为了“+5”,所以才会相等:

    imgPara[serial - 1].staTime -= timeInterval / 2 - 5;
    等价于
    imgPara[serial - 1].staTime = imgPara[serial - 1].staTime - (timeInterval / 2 - 5);
    

    正确写法如下:

    timeInterval = tpImP.staTime - imgPara[serial - 1].endTime;
    imgPara[serial - 1].staTime -= timeInterval / 2 + 5;
    imgPara[serial - 1].endTime += timeInterval / 2;
    

      

  • 相关阅读:
    javascript-类型、值和变量
    词法结构
    前端js保存页面为图片下载到本地
    js生成带log的二维码(qrcodejs)
    工具函数
    css 水平垂直居中
    vue中的keep-alive
    vuex 的使用
    Spring源码解析
    Spring源码解析
  • 原文地址:https://www.cnblogs.com/xingzhensun/p/5976098.html
Copyright © 2011-2022 走看看