Board logo

标题: [数值计算] [已解决]请教批处理使用if比较大小出错 [打印本页]

作者: Hysteria    时间: 2009-8-10 12:28     标题: [已解决]请教批处理使用if比较大小出错

  1. @echo off
  2. :a
  3. echo %random%
  4. set /p input=请输入:
  5. if "%input%" gtr "%random%" (echo 您所输入的数大) if "%input%" lss "%random%" (echo 您所输入的数小)else(echo 两数相等)
  6. pause
  7. goto a
  8. pause
复制代码
为什么窗口会自动消失,为什么不能比较大小?
为什么?为什么?
作者: keen    时间: 2009-8-10 13:09     标题: 回复 1楼 的帖子

改成这样试试:
  1. @echo off
  2. :a
  3. set num=%random%
  4. echo %num%
  5. set /p input=请输入:
  6. if %input% gtr %num% (echo 您所输入的数大) else (if %input% lss %num% (echo 您所输入的数小) else (echo 两数相等))
  7. pause
  8. goto a
复制代码

作者: Hysteria    时间: 2009-8-10 13:13

嗯!
谢谢!
呵呵~
作者: Hysteria    时间: 2009-8-10 13:20

我感觉这个比较大小有点点缺陷!
如果能在键入数字后再显示随即数再接着比较得出结果就好了!
呵呵~
作者: keen    时间: 2009-8-10 13:28     标题: 回复 4楼 的帖子

不明白你的“键入数字后再显示随即数”,你的意思,把刚开始的显示随即数,放到键入数字后显示?
作者: Hysteria    时间: 2009-8-10 15:27

呵呵!
问题解决了!
只需要把代码的顺序改动一下就可以先显示键入的数字,再显示随机数字了!
~!
作者: ghostwar    时间: 2009-9-30 07:38

2楼正解!
  我是个菜鸟,劳烦问下一个很菜的问题
     为什么 SET一个变量后一定要ECHO 一下才有用呢?
作者: keen    时间: 2009-9-30 10:47     标题: 回复 7楼 的帖子

set num=%random%是给变量赋值一个随机的数。
echo %num%只是显示出来这个随机数是多少而已,并不是说,非要用这句,这句可以省略。
作者: ghostwar    时间: 2009-10-5 12:14

没有设置参数咯~!!!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2