|
下面程序演示了字符串的倒序输出:
- @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 。
当程序倒序输出后,再次要求你重新开始输入。 |
|