我发现这样的php代码:
$a = 5;
$i = 4;
for($i = &$a; $i < 10; ++$i);
echo "a=$a, i=$i";
我希望这个循环会执行4次,因为$I变成了对$的引用(对吗?)。然而,循环只执行一次,并输出:
a=10,i=10
我不明白为什么它会这样工作。有什么想法吗?
它之所以能够工作,是因为for语句的处理方式与分号所产生的单行语句类似。
for($i = &$a; $i < 10; ++$i);
也可以看作
for($i = &$a; $i < 10; ++$i) echo $i;
如果没有花括号,下面的一行将被视为for语句的一部分,您的一行只是一个分号,表示该行的结尾。
正确的代码如下所示。
$a = 5;
for($i = $a; $i < 10; ++$i) echo "a=$a, i=$i";
我对python中双for循环的使用感到困惑,这是我的代码: 输出如下: 它只对外循环的第一个值执行内循环,为什么会发生这种情况?我怎样才能让它在第一个和第二个变量的所有组合上循环?
下面的程序只需从控制台读取整数并将其打印回来。当输入非int(如char或String)时,扫描仪抛出异常。我试图处理“尝试捕捉”块中的异常,然后继续读取下一个输入。从控制台输入第一个非int输入后,程序运行到无限循环。有人能帮忙吗?
我一直在读一本面向初学者的书,“第一头HTML5编程”,其中有这样一段代码: 目前,如果我调用,它将返回下一次显示是在下午5:00。我将循环条件更改为“I<=movie.showtimes.length;”但它仍然只运行一次,并且只显示下午5点。循环只迭代一次,即使我重写了这个函数: 不是应该跑两次吗?
考虑这个简单的C++函数来计算数组的前缀和: 它是4个融合的UOP1,这个CPU可以支持4个融合的OPs/周期。 有通过和携带的依赖链,每个都是一个循环,但是这些UOP可以到4个ALU端口中的任何一个,所以似乎不太可能冲突。融合的需要转到p6,这是一个更令人担忧的问题,但我只测量到p6的1.1 UOPS/迭代。这将解释每次迭代1.1个循环,但不是1.4个循环。如果我将循环展开2倍,端口压力会低得多
} 链接:https://www.hackerrank.com/challenges/java-string-compare/problem
当用户键入以下内容的答案时:system.out.println(“键入数字”); 它不会继续到我的代码的下一部分。