perl语言 循环语句中用到用户输入的数字怎么弄?为啥不打印

perl语言 循环语句中用到用户输入的数字怎么弄?为啥不打印,第1张

以后建议你先自己试着写一下,有具体问题再问,或者贴出你的程序大家帮你完善。以下程序调试通过:
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);


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13408691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-30
下一篇 2023-07-30

发表评论

登录后才能评论

评论列表(0条)

保存