曲径通幽论坛
标题:
字符串的倒序输出
[打印本页]
作者:
easy
时间:
2014-5-12 11:49
标题:
字符串的倒序输出
下面程序演示了字符串的倒序输出:
@echo off
:star
set Output=
set /p Enter=请输入:
:Start
if not "%Enter%"=="" (
set Output=%Output%%Enter:~-1%
set Enter=%Enter:~0,-1%
goto :Start)
echo.
echo %Output%
pause >nul&goto :Star
复制代码
程序要求你输入一个字符串,它倒序输出来,比如你输入 abcdefg,程序输出 gfedcba 。它的处理流程是:
先将输入字符串存入 Enter 变量,然后截取字符串末尾字符赋值给 Output 变量,Enter 变量删掉最后那个字符,回头判断 Enter 变量是否为空,不为空则继续移动。
Enter : abc
Output : c
Enter : ab
Enter : ab
Output : cb
Enter : a
Enter a
Output cba
Enter 为空
最后输出 Output 的值 cba 。
在
set Output=%Output%%Enter:~-1%
这一句中,体现了变量的连接(%Output%%Enter:~-1%),其中每次取 Enter 末尾的那个字符连接到 Output 上。字符串截取语法参考:《
字符串截取:%a:~m,n%
》
set Enter=%Enter:~0,-1%
这句每次将 Enter 最后的那个字符去掉。
由于 pause 执行时,会提示 “请按任意键继续...”,这里不像它有这个输出,故而使用了 > nul 。
当程序倒序输出后,再次要求你重新开始输入。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2