-2

我对这段代码感到困惑。这是寻宝难题的一部分。我尽我所能阅读它。但我从来没有为自己使用过java。
我希望有人可以帮助我纠正它。

use strict; 
$a = (32,69,34,46,5,19,4) my $a = 39;
printf("%s%d\a%s%0.1f\b%0.0f%s\t" chr(78) 061 chr($a[2]-2) 0xa+0x1b/1-2*5 0b110101111101001000/0x3e8 chr($a));
printf("%s%#.3d%s%s%d%s%0.0f'\n" chr($a[1]) 013 chr($a[0]) chr($a[0]+16) 0x05 chr($a[3]-$a+$a[6]*$a[4]+$a[5])) 0xF07A8/0b1111101000);

非常感谢 LockeAndWolf 的任何帮助

4

1 回答 1

2

更正后的脚本是:

use strict;
my @a = (32,69,34,46,5,19,4);
my $a = 39;
printf("%s%d\a%s%0.1f\b%0.0f%s\t", chr(78), 061, chr($a[2]-2), 0xa+0x1b/1-2*5, 0b110101111101001000/0x3e8, chr($a));
printf("%s%#.3d%s%s%d%s%0.0f'\n", chr($a[1]), 013, chr($a[0]), chr($a[0]+16), 0x05, chr($a[3]-$a+$a[6]*$a[4]+$a[5]), 0xF07A8/0b1111101000);

输出:

N49 27.221'     E011 05.985'

错误列表:

  1. $a当它是一个数组时声明为一个标量,应该是@a
  2. 打印语句中缺少逗号
  3. 第二个打印语句中的额外右括号(最后一个之前的右括号)。
于 2016-06-29T14:27:09.557 回答