批处理语句疑问

来源:百度知道 编辑:UC知道 时间:2024/05/25 10:15:28
有哪位高手解释一下这两句啊
Set /a t=%scanf%”&”!a!
If !t! equ 0 (set bin=0!bin!) else (set bin=1!bin!)
请问一楼,&为什么加上双引号啊?
还有set bin=0!bin!怎么理解啊?

如果scanf这个变量和a这个变量进行与运算得出的结果赋值给t
如果t的值为0的话就执行这条语句(set bin=0!bin!) ,否则就执行另一条。
&这个是一个与运算符,他可以作为条件进行运行。
可以这样理解。你不加引号这样写
echo 你好 & echo 你很好 不管前面是否执行失败,他都会执行后面的语句。所以用引号是为了区分开是运算符还是条件符号。
set bin=0!bin!这是一个赋值,不够每次复制都会在前面加个0.这样理解好了。
比如第一次bin 这个变量是没有值的,那么通过赋值则是 bin=0了。第二次 bin=00了,以此类推。
配合IF语句使用,再经过一定的算法,就可以实现一定效果。
这种赋值方法逻辑思维比较强,是算法上的难点。