PHP 先++和后++
答案:4 悬赏:60 手机版
解决时间 2021-04-03 17:33
- 提问者网友:椧運幽默
- 2021-04-02 22:47
PHP 先++和后++
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-04-02 23:35
1、加法运算的顺序为从右到左;
2、++$a; 变量a先自加,再参与运算,于是a变为6;
3、$a++,变量a先参与运算,再自加,于是6+6 =12赋值给变量b,之后a=7.
2、++$a; 变量a先自加,再参与运算,于是a变为6;
3、$a++,变量a先参与运算,再自加,于是6+6 =12赋值给变量b,之后a=7.
全部回答
- 1楼网友:我住北渡口
- 2021-04-03 01:55
我的理解
$a = 5;
$b = $a++ + ++$a;
首先说这个$a++,这个是先赋值在运算,所以第一个$a值是5,这是运算的第一步,然后$a自加1,这时候$a得值是6.
在说后面的++$a,因为$a这时候的值已经是6了,他要先自加1之后在进行运算,所以++$a的值已经是7了在进行运算的
所以$b = $a++ + ++$a;运算时是$b = 5 + 7;值是12.
希望可以帮到你。追问我不明白的是 中间那个+号为什么没有起到作用呢? $a++ (+) ++$a追答中间的+号起做了啊,要不怎么得出来的12呢。
$a = 5;
$b = $a++ + ++$a;
首先说这个$a++,这个是先赋值在运算,所以第一个$a值是5,这是运算的第一步,然后$a自加1,这时候$a得值是6.
在说后面的++$a,因为$a这时候的值已经是6了,他要先自加1之后在进行运算,所以++$a的值已经是7了在进行运算的
所以$b = $a++ + ++$a;运算时是$b = 5 + 7;值是12.
希望可以帮到你。追问我不明白的是 中间那个+号为什么没有起到作用呢? $a++ (+) ++$a追答中间的+号起做了啊,要不怎么得出来的12呢。
- 2楼网友:杯酒困英雄
- 2021-04-03 01:19
对的没错啊
$b= 5+6+1=12
$a 在运算前加1(++a)运算后(a + ++a)又加1 所以a=7
运算的过程是这样的:
一、a=5 + (++a)6
二、第一步运算结束后a++自加一
你说的运算过程是对的 $b= 5+6+1=12
说的简单些
a++是参加一次运算后加一,++a是参加运算前加一
不要把运算和赋值搞混了追问这个我知道啊, 我是这么想的 , 运算前后加1 不加1 我都能理解,但是我不理解的是 中间的那个加号, 我知道这么想不对啊, 但是不知道是哪错了, 就算两个$a 都没有+1 , 他们相加的结果还等于10呢吧. $a++ + ++$a; 那么为什么输出是7呢..追答$b = $a++ + ++$a
b的结果是取a变量地址中的值相加
一、a++,这时a变量地址中的值不变还是5,++a这时a变量地址中的值是6,a+a=12;
二运算结束后,a++,这时a变量地址中的值是7
同理 $b = ++$a + $a++ 结果一样
$b= 5+6+1=12
$a 在运算前加1(++a)运算后(a + ++a)又加1 所以a=7
运算的过程是这样的:
一、a=5 + (++a)6
二、第一步运算结束后a++自加一
你说的运算过程是对的 $b= 5+6+1=12
说的简单些
a++是参加一次运算后加一,++a是参加运算前加一
不要把运算和赋值搞混了追问这个我知道啊, 我是这么想的 , 运算前后加1 不加1 我都能理解,但是我不理解的是 中间的那个加号, 我知道这么想不对啊, 但是不知道是哪错了, 就算两个$a 都没有+1 , 他们相加的结果还等于10呢吧. $a++ + ++$a; 那么为什么输出是7呢..追答$b = $a++ + ++$a
b的结果是取a变量地址中的值相加
一、a++,这时a变量地址中的值不变还是5,++a这时a变量地址中的值是6,a+a=12;
二运算结束后,a++,这时a变量地址中的值是7
同理 $b = ++$a + $a++ 结果一样
- 3楼网友:逃夭
- 2021-04-02 23:55
$a = 5;
$b = $a++ + ++$a;
计算顺序: 赋值 从右到左 。先++$a 6
然后$a++ 是先用再加 此时$a 是6 所以$b 12
再次输出$a $a 用了一次 会自加1 所以是7追问那为什么中间的加号没能起到作用...?追答起作用了的。
$b = $a++ + ++$a;
可以这样写
$=($a++)+(++$a);
先算++$a 得出结果6
此时 $a=6 然后再算 $a++ 先用再加 所以$a++的结果是6
然后把两者的和赋给$b 12
如果下面再输入$a. 此时会$a会加1.。
$b = $a++ + ++$a;
计算顺序: 赋值 从右到左 。先++$a 6
然后$a++ 是先用再加 此时$a 是6 所以$b 12
再次输出$a $a 用了一次 会自加1 所以是7追问那为什么中间的加号没能起到作用...?追答起作用了的。
$b = $a++ + ++$a;
可以这样写
$=($a++)+(++$a);
先算++$a 得出结果6
此时 $a=6 然后再算 $a++ 先用再加 所以$a++的结果是6
然后把两者的和赋给$b 12
如果下面再输入$a. 此时会$a会加1.。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯