找回密码
 加入
搜索
查看: 1616|回复: 6

试问这段代码,为何点“确定,取消及输入字母“都不报错呢?

  [复制链接]
发表于 2010-1-24 20:15:34 | 显示全部楼层 |阅读模式
本帖最后由 lchl0588 于 2010-1-26 12:51 编辑

首先看下代码:
#include<array.au3>
Const $n=InputBox("","")
dim $a
if @error=1 Then Exit
if $n=Asc($a) Then Exit
Dim $i,$randomnumarray[$n]
        For $i=1 To $n-1
                $randomnumarray[$i]=Random(1,10,1)
        Next
        _ArrayDisplay($randomnumarray,"随机数组")
呵呵,无论你输入几位数,只要你的CPU足够猛,就能计算出来!!!当然也包括小数点!!!!

试问下:为什么点“确定”  “取消”还有输入字母或特符号等等(这一切都不属于数值),都不报错呢????

呵呵,这段代码是偶学习 一两数组时,进行不段完善的结果!!!

如果直接点“确定”“取消” 会使行  if @error=1 Then Exit
当输入数字时,点“确定”会显示结果!!
当输入字母加数字或纯字母、特殊符号,点“确定” ,不会报错!!!疑问就在这里!!!,为什么不报呢!!!

if $n=Asc($a) Then Exit

刚测试程序执行到这里就退出了!
$n=Asc($a)有问题,成了熟值语句了!
bill-0970 发表于 2010-1-25 21:51

呵呵,有点明白了!!
当输入字母加数字或纯字母、特殊符号,点“确定” ,不会报错!!!疑问就在这里!!!,为什么不报呢!!! 原因在于ASC这个语法吧!$a呢!!成了模糊的变量!! 要想真正明白是什么回事,还得了解Asc($a)语法!
发表于 2010-1-24 20:32:34 | 显示全部楼层
代码并不完整啊
 楼主| 发表于 2010-1-25 21:23:54 | 显示全部楼层
等达人来解释下  代码真的不完整吗?
发表于 2010-1-25 21:51:41 | 显示全部楼层
if $n=Asc($a) Then Exit

刚测试程序执行到这里就退出了!
$n=Asc($a)有问题,成了熟值语句了!
发表于 2010-1-26 07:52:43 | 显示全部楼层
不知楼主说什么,我只知道你一个地方错了
#include<array.au3>
Const $n=InputBox("","")
if @error=1 Then Exit
dim $a
if $n=Asc($a) Then Exit
Dim $i,$randomnumarray[$n]
        For $i=1 To $n-1
                $randomnumarray[$i]=Random(1,10,1)
        Next
        _ArrayDisplay($randomnumarray,"随机数组")
发表于 2010-1-26 09:22:27 | 显示全部楼层
if $n=Asc($a) Then Exit

$a还未赋值哩...
 楼主| 发表于 2010-1-26 11:51:20 | 显示全部楼层
回复 6# gapkiller
如果$a赋值的话,结果会变成另外一种。唯一不明白的是为什么单单这一句能判断出非数字以外的错误呢!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-22 15:42 , Processed in 0.073755 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表