gpt4 book ai didi

windows - for 循环不能正常工作?我做错了什么?

转载 作者:可可西里 更新时间:2023-11-01 11:48:00 38 4
gpt4 key购买 nike

我不确定预期的输出是“0 5 25 100”有什么问题。

我得到的输出是“20 3 15 60”:

http://imgur.com/gallery/qBlt3

http://hastebin.com/tibirakoni.dos

@echo off
setlocal EnableDelayedExpansion
cls
:vars
set numbercheck=50
set number2=0
set number3=0
set number4=0
:calc
for %%a in (0, 1, 100) do (
if !numbercheck GEQ 10 (
set /a numbercheck= !numbercheck! - 10
set /a number2= !number2! +1
set /a number3= !number3! +5
set /a number4= !number4! +20
)
)
goto echo
:echo
echo !numbercheck!
echo !number2!
echo !number3!
echo !number4!
pause

最佳答案

我不确定出了什么问题 - 预期的输出是 0 5 25 100

The output I get is 20 3 15 60

...

for %%a in (0, 1, 100) do (  
if !numbercheck GEQ 10 (

...

上面的代码有两个错误:

  1. for命令中缺少/l,应该是:

    for /l %%a in (0, 1, 100) do (

    如果没有 /lfor 循环将返回 0,1,100,并且只会循环 3 次。使用 /l 时,for 循环将返回 1,2,3,...,100

  2. if命令中缺少!,应该是:

    if !numbercheck! GEQ 10 (

更正的批处理文件:

@echo off
setlocal EnableDelayedExpansion
cls
:vars
set numbercheck=50
set number2=0
set number3=0
set number4=0
:calc
for /l %%a in (0, 1, 100) do (
if !numbercheck! GEQ 10 (
set /a numbercheck= !numbercheck! - 10
set /a number2= !number2! +1
set /a number3= !number3! +5
set /a number4= !number4! +20
)
)
goto echo
:echo
echo !numbercheck!
echo !number2!
echo !number3!
echo !number4!
pause

示例输出:

0
5
25
100
Press any key to continue . . .

进一步阅读

关于windows - for 循环不能正常工作?我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39182739/

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