24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1289  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

mocito

铜虫 (初入文坛)

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

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

结果是,
382

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

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

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

» 猜你喜欢

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

已阅   回复此楼   关注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的回帖
查看全部 5 个回答

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的回帖

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂 +4 卷卷卷心菜_ 2026-04-09 4/200 2026-04-09 17:21 by gong120082
[考研] 348求调剂 +3 candyyyi 2026-04-09 3/150 2026-04-09 17:20 by 段伟艳
[考研] 一志愿北京2,材料与化工308求调剂 +17 熊二想上岸 2026-04-04 18/900 2026-04-09 09:13 by leyan1127
[考研] 求助071001调剂!!! +7 黄守松 2026-04-05 8/400 2026-04-09 09:07 by 徐良白眉大侠
[考研] 293调剂 +21 yj1221 2026-04-08 22/1100 2026-04-09 08:34 by 5268321
[考研] 求调剂 +13 柒luck 2026-04-07 13/650 2026-04-08 22:46 by 猪会飞
[考研] 机械专硕273请求调剂 +6 庚申壬申 2026-04-07 6/300 2026-04-08 22:41 by bljnqdcc
[考研] 275 求调剂 +8 Lei812514 2026-04-07 8/400 2026-04-08 12:46 by chemisry
[考研] 22408 266求调剂 +11 masss11222 2026-04-07 14/700 2026-04-08 11:06 by yulian1987
[考研] 334分机械专硕求调剂 +3 蛋花紫菜汤 2026-04-03 3/150 2026-04-07 14:49 by 逍遥cocoa
[考研] 080500求调剂 +12 黄宇博 2026-04-06 12/600 2026-04-07 12:41 by upczlm1989
[论文投稿] Decision: Revise for Editor还会送审吗 100+3 CccccccccFD 2026-04-04 5/250 2026-04-07 10:58 by 北京莱茵润色
[考研] 调剂 一志愿吉林大学357分 +5 .Starry. 2026-04-04 5/250 2026-04-06 09:28 by cql1109
[考研] 求调剂 +10 Hll胡 2026-04-04 10/500 2026-04-05 20:09 by nepu_uu
[考研] 数一英一274机械调剂 +5 星陨流霞 2026-04-04 6/300 2026-04-05 11:38 by arrow8852
[考研] 272求调剂 +4 电气李 2026-04-05 4/200 2026-04-05 10:41 by lbsjt
[考研] 11408,335分,本科211,求调剂,可转专业 +5 鳄梨大鳄鱼 2026-04-03 5/250 2026-04-04 22:49 by chongya
[考研] 323求调剂 +8 李佳乐1 2026-04-04 8/400 2026-04-04 22:26 by hemengdong
[考研] 可跨专业调剂 +3 周的得地 2026-04-04 6/300 2026-04-04 22:21 by barlinike
[考研] 281求调剂 +10 aaawhy 2026-04-03 10/500 2026-04-03 21:42 by lbsjt
信息提示
请填处理意见