曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3017|回复: 0
打印 上一主题 下一主题

[实例.其它] 字符串的倒序输出

[复制链接]

716

主题

734

帖子

2946

积分

超级版主

Rank: 9Rank: 9Rank: 9

积分
2946
跳转到指定楼层
楼主
发表于 2014-5-12 11:49:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面程序演示了字符串的倒序输出:
  1. @echo off
  2. :star
  3. set Output=
  4. set /p Enter=请输入:
  5. :Start
  6. if not "%Enter%"=="" (
  7. set Output=%Output%%Enter:~-1%
  8. set Enter=%Enter:~0,-1%
  9. goto :Start)
  10. echo.
  11. echo        %Output%
  12. 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 。

当程序倒序输出后,再次要求你重新开始输入。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-17 19:45 , Processed in 0.122406 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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