【发布时间】:2020-03-27 13:10:59
【问题描述】:
我在尝试使用条件循环输出在 CMD 中创建的乘法表的结果时遇到问题。代码如下:
@ECHO OFF & CLS
SET AUX=0
IF "%1" == "" (
SET /P num=Introduzca el numero a mostrar su tabla de multiplicar:
) ELSE (
SET num=%1
)
:sumarCont
SET /A AUX+=1
IF /I %AUX% LEQ 10 (
SET /A mul=%num%*%AUX%
ECHO %AUX% * %num% = %mul%
GOTO :sumarCont
)
@PAUSE > nul
问题是在第一个循环交互中,名为 AUX 的变量不会更新,最终会出现如下输出:
Introduzca el numero a mostrar su tabla de multiplicar: 5
1 * 5 =
2 * 5 = 5
3 * 5 = 10
4 * 5 = 15
5 * 5 = 20
6 * 5 = 25
7 * 5 = 30
8 * 5 = 35
9 * 5 = 40
10 * 5 = 45
我曾尝试使用延迟扩展,但结果保持不变。 我错过了什么?
提前致谢。
【问题讨论】:
-
使用已定义变量执行算术运算的正确方法是
Set /A mul=num*AUX而不是SET /A mul=%num%*%AUX%。
标签: windows loops batch-file variables cmd