gpt4 book ai didi

batch-file - 批处理 if else 语句不起作用

转载 作者:行者123 更新时间:2023-12-03 16:32:23 27 4
gpt4 key购买 nike

我正在编写一个小程序,但我对 if else 语句有疑问。

@echo off 
set /p points=
echo %points%
echo 1x5=
set /p 15=
if %15%==5 (
echo well done!
set /a points=%points%+1
) else ( echo wrong! )
pause
echo %points%
pause

即使我填错了答案,它仍然会为我的分数加 1 分并说“干得好!”

(顺便说一句:输入代码时遇到了一些问题,如果您能够阅读代码,现在就不要输入)

最佳答案

当调用批处理文件时命令行中包含参数时,它从代码中引用为 %1%2,... , 第二, ... 参数。

在您的代码中,当您编写 if %15%==5 ... 时,%15% 被解释为批处理文件的第一个参数( %1) 后跟一个 5 和一个被解析器丢弃的非转义非成对百分号。因此,如果批处理文件没有输入参数且 %1 为空,则您的 if 代码将执行为 if 5==5 ...

作为一般建议,批处理文件中的变量“不应”以数字开头,因为它们将被视为输入参数。

关于batch-file - 批处理 if else 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23722937/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com