今天在用易语言帮一个客户写程序的时候,发言一个奇怪的问题,就是在用判断、如果真命令比较2个文本到整数后的值时,在调试运行的时候,一切正常,但是编译出来后,运行不正常,不符合逻辑,最终经过调试输出,发现是因为文本到整数后,超出了易语言整数型变量的范围引起的该问题。下面记录一下我解决问题的过程。

刚开始的代码是这样的:

.版本 2

文本1 = “20180801115”

文本2 = “20180801116”

如果真 (到整数(文本1)+1 = 到整数(文本2))

调试运行的时候,程序是按照我的思路走的,没问题。

但是静态编译为exe程序后,上面的如果真里面的判断如同废弃,没有丝毫作用,程序就运行不正常了。

开始以为是【如果真】命令的问题,遂改为【判断】,结果问题依旧。

那么,就调试看看喽,把上面程序修改为以下内容:

.版本 2

.支持库 spec

.局部变量 数字1, 整数型

.局部变量 文本1, 文本型

.局部变量 数字2, 整数型

.局部变量 文本2, 文本型

文本1 = “20180801115”

文本2 = “20180801116”

数字1 = 到整数 (文本1) + 1

数字2 = 到整数 (文本2)

调试输出 (数字1, 数字2)

.判断 (数字1 = 数字2)

调试输出的内容为:

* -1294035364 | -1294035364

看到这里,猛然想起,会不会是【数字1和数字2】的长度大于了整数型的最大范围了,结果百度一下,还真的是,易语言整数型的范围是:-2,147,483,648 到 2,147,483,647,明显的,我们的数字超过了这个范围。

那么,找到原因了,问题就好解决了,只需把【数字1、数字2】声明为“长整数”类型,【到整数()】修改为【到长整数】即可,修改后如下:

.版本 2

.支持库 spec

.局部变量 数字1, 长整数型

.局部变量 文本1, 文本型

.局部变量 数字2, 长整数型

.局部变量 文本2, 文本型

文本1 = “20180801115”

文本2 = “20180801116”

数字1 = 到长整数 (文本1) + 1

数字2 = 到长整数 (文本2)

调试输出 (数字1, 数字2)

.判断 (数字1 = 数字2)

然后再次调试看看,结果如下:

* 20180801116 | 20180801116

OK,到此为止,结果正常了,希望本文能给遇到同样问题的同学一些帮助。

《易语言判断、如果真、文本到整数比较时,调试时运行正常,编译后不正常》地址:www.cunguer.com/article/346.html,本文来自村姑网,您身边的IT专家

www.cunguer.com,转载请注明出处,您的支持是我们创作的源泉~!

易语言服务器调试输出为假,易语言判断、如果真、文本到整数比较时,调试时运行正常,编译后不正常...相关推荐

  1. c语言怎么控制输出字符长度,C语言基础之格式化输出控制长度

    c语言格式化输出控制长度 今天在实现ls命令的时候,输出的文件名是上下对齐: 1 2 a.c b crawler text 公共的 视频 文档 音乐 1.c 2.c a.out b.c git win ...

  2. c语言将一个字符输出三遍,C语言字符相关部分内容小结

    很多初涉编程的同学,在有些知识点上不够系统化或者说不能够将知识点联系起来,甚至对有些知识点有妖魔化的趋势,先说一下,这点是完全没有必要的,对于程序的编写,我个人认为这是一件很有美感的事情,所以不必预先 ...

  3. 易语言服务器端口总被占用,易语言检测端口是否被占用的代码

    检测端口是否被占用的代码 .版本 2 .程序集 窗口程序集_启动窗口 .子程序 检测端口, 整数型, , 如果被占用返回进程PID .参数 端口, 整数型, 可空 .参数 信息, 文本型, 参考 可空 ...

  4. 小鱼易连服务器地址怎么修改,小鱼易连如何修改服务器地址

    小鱼易连如何修改服务器地址 内容精选 换一换 代码迁移工具进行代码迁移时,需要调用Linux下的rpm.deb等命令才能完成扫描和迁移相关任务,这些命令和逻辑必须在后端Linux运行.IDE插件只支持 ...

  5. c语言折半查找输出坐标,数据结构(C语言版)——有序表查找(折半查找)(代码版)...

    数据结构(C语言版)--有序表查找(折半查找)(代码版) 数据结构(C语言版)--有序表查找(折半查找)(代码版) #include #include #define ERROR 0 #define ...

  6. c语言定义int 输出4386,大学C语言第五章课后习题参考程序

    考试,二级C语言备考 第五章课后习题参考程序 5.1 编写程序,求100-2000之间所有3的倍数之和,当和大于1000时结束. (参考答案:900) #include int main() { in ...

  7. c语言逆序输出6A8F,【C语言】将二进制数逆序输出。比如6为000...0110,逆序后为0110....

    //将二进制数逆序输出.比如6为000...0110,逆序后为0110...000#include unsigned int reverse_bit(int num){int i;int bit;un ...

  8. c语言工资管理系统输出错误,求c语言工资管理系统的源代码?

    该程序输入职工工号和应发工资,由系统对其完成的实发工资实现计算. 其中职工信息包括职工号.姓名.性别.应发工资.税金.实发工资等(职工号不重复). 功能要求及说明: 系统以菜单方式工作 职工基本信息和 ...

  9. c语言折半查找输出坐标,用c语言编写折半查找法

    折半查找法又称为二分查找,是在一个有序数组里面找到一个具体的数,方法我在代码里注释到了. #include int binary_search(int *arr, int key, int sz)// ...

最新文章

  1. [C] [最短路] 只有5行的算法:Floyd-Warshall
  2. Apache Spark 2.0预览: 机器学习模型持久化
  3. 如何在mysql中添加复选框_如何使用输入和复选框更新mysql
  4. 2021年暑期旅游数据报告
  5. 淘宝H5移动端解决方案
  6. Redis系列-主从复制配置
  7. MyEclipse汉化后问题
  8. IntelliJ IDEA 自定义控制台输出多颜色格式功能 --- 安装Grep Console插件
  9. 如何创建线程?如何实现Runnable接口?
  10. Bootstrap导航栏实例讲解
  11. Netty in action—Netty简介
  12. 关于ContentResolver
  13. 13个绚丽的Jquery 界面设计
  14. java实现文件上传下载功能_java文件上传下载功能实现代码
  15. Yahoo 股票数据抓取
  16. matlab如何进行图像读取,matlab如何读取图像
  17. 处理器后面的字母什么意思?看了全搞懂
  18. wamp5工具安装介绍
  19. 手机摄影-参数(光圈)
  20. Gulp项目报错:AssertionError [ERR_ASSERTION]: Task function must be specified

热门文章

  1. Jenkins教程(一)安装Jenkins
  2. PyTorch 2.0来了!100%向后兼容,一行代码训练提速76%
  3. 资本论第一卷思维导图
  4. 知识管理在企业中的重要性
  5. (HTTP的)幂等性Idempotence
  6. 区块链的起源、发展与繁荣
  7. RxJava入门指南
  8. 基于Altium Designer进行可变电阻元件封装
  9. java毕设项目购物网站设计(附源码)
  10. 汇编中参数的传递和堆栈修正