下面是一个AS程序,其想要输出20个减号,不过,粗心的程序员把代码写错了,你需要把下面的代码修改正确,不过,你只能增加或是修改其中的一个字符,请你给出三种答案。
var n:int=20;
for(var i:int=0;i < n; i--)
trace("-");
是面试题 不能真机测试哦~~
如果 写了错误答案也别编辑掉哦~
其它相关的变种题如下:
通过修改、增加一个字符,让其输出21个减号(目前已知1组解)
通过修改、增加一个字符,让其只输出1个减号(目前已知2组解)
以下原贴者的表述 仅代表他的意见hoho
我觉得,如果你能在10分钟内找出这三种方法,说明你真的很聪明,而且反应很快。当然,15分钟内也不赖。不过,你要是30分钟内找不到三种方法,当然, 不说明你笨了,最多就是你的反应还不够快。嘿嘿。就当是玩玩吧。
① 负负得正
var n:int=20;
for(var i:int=0;-i < n; i--)
trace("-");
②利用for循环的第二个判断条件 i+n在i=-20的时候 i+n=0 条件为false 跳出循环
var n:int=20;
for(var i:int=0;i+n;i--)
trace("-");
③利用n来判断
var n:int=20;
for(var i:int=0;i < n; n--)
trace("-");
通过修改、增加一个字符,让其输出21个减号(目前已知1组解)
var n:int=20;
for(var i:int=0;~i < n; i--)
trace("-");
通过修改、增加一个字符,让其只输出1个减号(目前已知2组解)
var n:int=20;
for(var i:uint=0;i < n; i--)
trace("-");