24小时热门版块排行榜    

查看: 1433  |  回复: 4

mocito

铜虫 (初入文坛)

[求助] 关于perl 数组的一个小问题。

先把问题的code写一下,
$value = 2;
print ( $value, $value**3, $value++ );

结果是,
382

问题,为什么结果不是283?

刚看到数组这一部分,之前也只零零碎碎的接触到一些 c++,matlab 的基础编程,所以现在完全不知道问题可能出在哪里。。。

[ 发自手机版 http://muchong.com/3g ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

a475772910

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
mocito: 金币+5, ★★★很有帮助 2013-08-08 16:03:34
#!/usr/bin/perl
$value = 2;
$a=$value;
$b=$value**3;
$c=++$value;
print ( $a, $b,$c );
这样就好了   283  
直接写 $value, $value**3, $value++。  $value会随着$value++变化,还有就是$value++和++$value引用时是不一样的  第一个直接引用$value值,第二个引用的是+1后的值。
2楼2013-08-08 12:08:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mocito

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by a475772910 at 2013-08-08 16:08:34
#!/usr/bin/perl
$value = 2;
$a=$value;
$b=$value**3;
$c=++$value;
print ( $a, $b,$c );
这样就好了   283  
直接写 $value, $value**3, $value++。  $value会随着$value++变化,还有就是$value++和++$ ...

谢谢~这个我试了下,确实可以。
print ( $value, $value**3, $value++ );
里面 第一位上的$value是随着第三位上的$value++变化的,而第二位的$value为什么是2的三次方呢? 我感觉第一位上和第二位上的$value 应该是等价的吧? 要不然就会产生 结果 “392” 了。
我在想是不是跟运算的层级有关,乘法先执行,然后加法,但又觉得在数组中先后顺序应该是按照它的排位先后来的……
3楼2013-08-08 16:02:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

davidyjun

银虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
mocito: 金币+15, ★★★★★最佳答案, 好像是这么回事,谢谢啦~ 2013-08-16 12:41:36
其实print也可以认为是函数或子程序,它的运算是有层级的。
4楼2013-08-16 12:08:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

万孝莉

新虫 (小有名气)

引用回帖:
3楼: Originally posted by mocito at 2013-08-08 16:02:48
谢谢~这个我试了下,确实可以。
print ( $value, $value**3, $value++ );
里面 第一位上的$value是随着第三位上的$value++变化的,而第二位的$value为什么是2的三次方呢? 我感觉第一位上和第二位上的$value 应该 ...

运算符在使用时是有优先级和方向性的
“++”的优先级高,结合性是左
“,”符的优先级低,但结合性是右;
所以
print ( $value, $value**3, $value++ );
先运算$value++(究竟++什么时候执行没见到文档说明)
然后执行$value**3(这里使用的$value是否执行了++,就要看++了)
最后执行$value;
求解……
5楼2013-08-27 20:40:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mocito 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 建议基金发布提前给出明确的时间点 +11 kulium 2026-08-21 14/700 2026-08-24 02:12 by 流流伤
[基金申请] 2026国自然函评费到账 +16 羊腰板 2026-08-21 17/850 2026-08-23 23:02 by tianxiaochun
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[基金申请] 什么时候开奖? +9 CrisMessi 2026-08-18 10/500 2026-08-23 12:03 by 丶昵称占用
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 14/700 2026-08-21 23:51 by cratir
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见