Board logo

标题: 关于一个题目的逻辑思维问题 [打印本页]

作者: tk420199     时间: 2008-8-24 12:19    标题: 关于一个题目的逻辑思维问题

最近在学习FOR的用法,搜索论坛看到一个这样的问题
Set /a count=0
echo %count%
set /a count+=3
echo %count%

rem 启动变量延迟
Setlocal EnableDelayedExpansion

for /r e:\info\qimage %%i in (*) do (
    set /a count+=1
    echo !count!
)

我是这样的理解的:Set /a count=0 变量conunt初始值为哦
echo %count%   显示变量的值
set /a count+=3  变量conunt的值自动累计加3
echo %count%  显示变量的值

rem 启动变量延迟
Setlocal EnableDelayedExpansion

for /r e:\info\qimage %%i in (*) do (
    set /a count+=1
    echo !count!
)

记录在E盘目录\info\qimage 下所有文件的数量,并显示出来
不知道我这样理解对不对。还有一点我不明白的是。为什么他开始声明时说了初始值为0,但是为什么又要写set /a count+=3这句呢 ,有什么意义吗,实在不明白还请前辈门指点
作者: HAT     时间: 2008-8-24 12:32
虽然批处理中的变量不需要初始化就能直接使用,但是,变量初始化是一个好的习惯,可以避免某些隐患。
作者: tk420199     时间: 2008-8-24 15:32
Set /a count=0已经有这句了
但是为什么又要写set /a count+=3这句呢 ,有什么意义吗,实在不明白还请前辈门指点
难道也是初始化???
作者: moniuming     时间: 2008-8-24 15:55
下面的内容是你帖子中的:
我是这样的理解的:Set /a count=0 变量conunt初始值为哦
echo %count%   显示变量的值

set /a count+=3  变量conunt的值自动累计加3
echo %count%  显示变量的值


[ Last edited by moniuming on 2008-8-24 at 03:56 PM ]
作者: huahua0919     时间: 2008-8-24 15:57
没什么意思.其实你看的这个贴子估计也是新手写的
完全可以直接定义变量count=3
这样可以简洁明了.
作者: tk420199     时间: 2008-8-24 17:21
set /a count+=3  那这句我理解变量每次都是按加3递增的这样对吗
还是就是把COUNT定义为3