main(){
int n,x,i,sum1=0,sum2=0;
printf("输入数的个数:");scanf("%d",&n);
for (i=1;i<=n;i++)
printf("奇数之和=%d,偶数之和=%d\n",sum1,sum2);
}
foreach(@all_po) ==> while ($#all_po >=0)
或者chomp(my $aline = shift(@all_po)); ==> $sline=chomp $_;
但看样子程序的功能用个map就可以实现
@aaa= map{chomp} @all_po;use 5014;
open FH , "<" ,"testtxt";
$/ = '>';
while(<FH>){
chomp;
say;
}其实跟while 没什么关系,就是数组的一种建立方法:当我们要用一个标量($name)作为数组的名字,我们用@{$name}。所以如你所述,在你提到的例子中,每次以$a[$i]为名字建立了一个数组。
#!/usr/bin/perl -w
use warnings;
$name='lucky';
@{$name}=("lucky1","lucky2");
print "$lucky[0] $lucky[1]\n"; ##结果是:lucky1 lucky2
$a='a';
$b='b';
$c='c';
@{$a,$b,$c}=(1,2);
我写的一个小例子,另外就是你追问的问题,@{a,b,c}这种形式肯定不行,首先a,b,c不是标量;即使像@{$a,$b,$c}=(1,2);用也不行,会报错,结果是相当于逗号表达式,建立了一个数组@{$c}=(1,2);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)