第七题:- @echo off
- set h=%RANDOM%
- echo %h%
- set /a zh=%h:~0,1%+%h:~1,1%+%h:~2,1%+%h:~3,1%+%h:~4,1%
- echo %zh%
- pause
复制代码 请高手指点。。。
set 帮助中说到:在表达式中的任何非数字字符串键作为环境变量
名称,这些环境变量名称的值已在使用前转换成数字。如果指定
了一个环境变量名称,但未在当前环境中定义,那么值将被定为
零。
所以,如果 %RANDOM% 出来的是一位,那么后面的 %h:~1,1% %h:~2,1% %h:~3,1% %h:~4,1% 将不存在,set 就定义为 0 ,那 0 跟任何数相加,都是没影响的
如果是产生了 5 位数,那这些变量都存在,也就可以正常相加了
又是一次投机取巧。。。 |