试问这段代码,为何点“确定,取消及输入字母“都不报错呢?
本帖最后由 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 http://www.autoitx.com/images/common/back.gif
呵呵,有点明白了!!
当输入字母加数字或纯字母、特殊符号,点“确定” ,不会报错!!!疑问就在这里!!!,为什么不报呢!!! 原因在于ASC这个语法吧!$a呢!!成了模糊的变量!! 要想真正明白是什么回事,还得了解Asc($a)语法! 代码并不完整啊 等达人来解释下代码真的不完整吗? if $n=Asc($a) Then Exit
刚测试程序执行到这里就退出了!
$n=Asc($a)有问题,成了熟值语句了! 不知楼主说什么,我只知道你一个地方错了
#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,"随机数组") if $n=Asc($a) Then Exit
$a还未赋值哩... 回复 6# gapkiller
如果$a赋值的话,结果会变成另外一种。唯一不明白的是为什么单单这一句能判断出非数字以外的错误呢!
页:
[1]