sub Solution{
$matchflag=0;
$occurence=0;
#OUPTUT [uncomment & modify if required]
my $ind=index($m,$p);
if ($ind!=-1){
$matchflag=1;
}
$occurence= () = $m =~ /$q/g;
print("$matchflag\n");
print($occurence);
}
#INPUT [uncomment & modify if required]
$n=<STDIN>;
$m=<STDIN>;
$p=<STDIN>;
$q=<STDIN>;
Solution();
您好,有人可以告诉我这段代码有什么问题吗?它给了我以下输出。
6
naman
nam
n
0
1
显然0应该是1,因为naman字符串中存在nam。并且1应该是2,因为n在字符串中出现两次。
此代码有什么问题?
OP可能意味着代码如下
use strict;
use warnings;
my $n = input();
my $m = input();
my $p = input();
my $q = input();
Solution();
sub input{
my $input = <STDIN>;
chomp $input;
return $input;
}
sub Solution{
my $matchflag=0;
my $occurence=0;
#OUPTUT [uncomment & modify if required]
my $ind=index($m,$p);
if ($ind!=-1){
$matchflag=1;
}
$occurence= () = $m =~ /$q/g;
print("Match flag: $matchflag\n");
print("Ocurance: $occurence\n");
}
输出量
6
naman
nam
n
Match flag: 1
Ocurance: 2
因此,在像Java或C这样的语言中,我们需要在函数调用期间传递参数,以便函数可以访问这些变量。在这里,您在调用函数时不会传递参数。这里发生了什么?
函数可能有也可能没有任何参数,并且可能会或可能不会返回任何东西。某些功能可以例如优化数据库,验证程序是否成功完成并且不返回任何内容。某些函数可能具有参数,对它们进行一些运算,然后返回结果-例如,计算器运算为加,减,乘,乘。