一道for循环题
Jun 23, 2016 pm 02:05 PM 今天看到了一道题,觉得比较有意思
$n = 20;for($i = 0; $i < $n; $i--) { var_dump('-');}
说是,上面那段代码修改或是增加一处,循环体内执行二十次,明眼人都看出来,上述代码是死循环的,下面是几个方法
1、
$n =20;for ($i = 0; -$i < $n; $i --) { var_dump('-');}
2、
$n = 20;for ($i = 0; $i < $n; $i ++) { var_dump('-');}
3、
$n =20;for ($i = 0; $i < $n; $n --) { var_dump('-');}
不过听说还有好多解法,希望知道的朋友能够列举出来,开开眼界!!!
回复讨论(解决方案)
$n = 20;
for($i = 40; $i < $n; $i--) {
var_dump('-');
}
楼上的朋友试了没有,知道for语句是怎么执行的么
$n =20; for ($i = 0; $n < $i; $n --) { var_dump('-'); }
感谢版主回答,不过怎么执行显示不出来呢,而且改也不止一处
感谢版主回答,不过怎么执行显示不出来呢,而且改也不止一处
怎么不止改一处了?
那2个对换不就只是改一处么?,又不是限定值改一个变量
楼上的朋友试了没有,知道for语句是怎么执行的么
没有,你说是死循环就考虑for括号里面的东西了,没看别的地方。
再说我觉得从40减到20也没啥问题嘛
呵呵,看错了,你原来后面那个是i啊
还以为后面一个是n呢
引用 2 楼 molaifeng 的回复:楼上的朋友试了没有,知道for语句是怎么执行的么
没有,你说是死循环就考虑for括号里面的东西了,没看别的地方。
再说我觉得从40减到20也没啥问题嘛
呵呵,关键是那样弄的话,for循环就不执行了,到了判断那里就过去了
$n =20; for($i = 0; $i*($i+$n) < $n; $i--) { var_dump('-');}
$n = 20;
for($i = 0; $i < $n; $i--) {
var_dump('-');
$n=$n-2;
}
$n =20; for($i = 0; $i < $n*($i+$n); $i--) { var_dump('-');}
这些都可以id,会是改或加都可以,那就可以运用很多公式放在条件那里的
添加或修改一位哦,楼上的朋友,你这添加了一句
$n = 20;
for($i = 0; $i < $n + 2$i; $i--) {
var_dump('-');
}
添加或修改一位哦,楼上的朋友,你这添加了一句
说的是添加或修改一处,不是添加一位
这个概念差远了,如果只能修改一个变量或者加一个变量,那可就差远了
$n =20;
for ($i = 0; -$i < $n; $i --) {
var_dump('-');
}
$n = 20; for($i = 0; ($i*$i) < $n; $i--) { var_dump('-');}
$n = 20; for($i = 0; abs($i) < $n; $i--) { var_dump('-');}

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
