首页 > 试题广场 >

下题的运行结果是??php$a = 1;$b&...

[单选题]
下题的运行结果是?
<?php

$a = 1;
$b = 2;

function sum(&$a, $b)
{
    ++$a;
    $b++;
    return $a + $b;
}

$c = sum($a, $b);

echo $a . ",";
echo $b . ",";
echo $c . "\n";
  • 1,2,5
  • 2,3,5
  • 1,2,4
  • 2,2,5
引用传值& 意思是说在函数内对值进行了改变 在函数外也会改变 而不像按值传值 函数内改变 函数外是改变不了的
发表于 2020-04-17 19:44:02 回复(1)

此题正确答案是D



编辑于 2019-11-09 11:59:37 回复(1)

纠错 正确D

发表于 2019-08-27 15:59:08 回复(0)
我怎么记得++a不会对该变量+1的?好混乱
发表于 2021-02-26 20:40:44 回复(1)

&引用传值,直接操作了目标地址。

发表于 2019-12-25 11:26:30 回复(0)
D
发表于 2019-10-27 21:56:34 回复(0)
错题一个
发表于 2019-10-17 15:29:52 回复(0)
纠错运行的答案是2,2,5
发表于 2019-10-10 11:29:32 回复(0)
个人的想法是这样的: 首先$a和$b是全局变量,函数里面的运算操作只是针对局部变量(也就是传进来的两个参数),$c的结果是5大家应该都懂。而$b的值没有变,这道题最主要的就是函数的参数列表中的&$a,这个表示的是$a的引用,说明它不再是局部变量$a,而且成为了指向变量a数值的地址,就说明在函数里修改了变量a就相当于修改了全局变量a指向的数值。所以最后变量a的值加了1。
发表于 2019-09-08 17:23:04 回复(1)
&?什么鬼
发表于 2019-09-08 15:22:52 回复(0)