找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 35246|回复: 6

[数值计算] 【已结】For循环中提示括弧不对称的问题

[复制链接]
发表于 2009-2-7 23:41:41 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2017-3-21 10:42 编辑

四则运算在for循环中无法正常执行。
@echo off
setlocal enabledelayedexpansion
set /a a=3
for /l %%i in (1,1,2) do (
set /a b=!a!*(!a!*2+1)
echo !b!
)
set /a b=!a!*(!a!*2+1)
echo !b!

结果:
括弧不对称。
括弧不对称。
ECHO 处于关闭状态。
21
发表于 2009-2-7 23:58:30 | 显示全部楼层
加上引号:

set /a "b=!a!*(!a!*2+1)"

或者转义:

set /a b=!a!*^(!a!*2+1^)

另,可以不将变量括起来。即:

set /a "b=a*(a*2+1)"

[ 本帖最后由 tireless 于 2009-2-8 00:03 编辑 ]
发表于 2009-2-8 00:03:47 | 显示全部楼层
你把echo off去了 就知道了.
我也不知道哪错了.
应该是符号太多了 有其他的意思.
楼下的说吧
发表于 2009-2-8 09:23:00 | 显示全部楼层

回复 3楼 的帖子

你不知道,就看看2楼的解释,不必等楼下了。
发表于 2009-2-8 09:23:45 | 显示全部楼层

回复 1楼 的帖子

本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块,其余话题禁止在本版讨论;
2、求助时,务必在顶楼一次性把问题交代清楚;若文字难以表述,请配图说明,或是上传附件;但是,一切操作应从节约论坛资源的角度出发,能文字说明清楚的就无需再发图片,小图能说明问题的尽量不截全图,在不影响效果的前提下尽量压缩图片及附件;
3、所发代码若不止一行,请务必用code标记把代码部分首尾括起来,以便他人复制;


Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
 楼主| 发表于 2009-2-8 10:09:43 | 显示全部楼层
“中尉”的方法果然高明。
还有,谢谢“论坛巡查”的版规提示。
发表于 2009-2-8 15:52:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 12:48 , Processed in 0.019583 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表