• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

程序搞死机了,不知道为啥

php 搞代码 4年前 (2022-01-24) 17次浏览 已收录 0个评论

程序搞死机了,不知道为什么
想编一个程序, 输入8个成绩,然后求出其中最高分。运行下面整个,然后内存占用不停增大,浏览器卡死,
球高人解释为什么?

<br /><br /><title>8人成绩打分</title><br /><meta htt<b style="color:transparent">来&源gao@dai!ma.com搞$代^码%网</b><img>搞gaodaima代码</img>p-equiv="Content-Type" content="text/html; charset=utf-8" /><br /><br /><body><br /><h1>请输入8个选手的成绩,用空格隔开</h1><br /><br /><br /><br /><br /><?php <br /><br />$grade=$_POST["grade"];<br />$arr=explode(" ",$grade);<br />var_dump($arr);<br /><br />//取出输入8个数中的最大值<br />for($i=0;$i<count($arr);$i++){<br />	if($arr[$i] >= $arr[$i+1]){<br />       $arr[$i+1]=$arr[$i];<br />	}<br />	echo "</br>最大值".$arr[$i+1];<br />}<br /><br />?><br /><br /><span style="color: #99CC00"></span>

——解决方案——————–
死循环!!!
$grade=$_POST[“grade”]; //你没有检查$_POST[“grade”]的存在,$grade可能是空串
$arr=explode(” “,$grade);//当$grade为空串时,$arr 是这样的数组 array(0 => ”)
for($i=0;$i<count($arr);$i++){ //所以循环是可以进入的
if($arr[$i] >= $arr[$i+1]){ //当$i到达最后一个元素时,$arr[$i+1] 因不存在而为空,条件永远成立
$arr[$i+1]=$arr[$i];//于是不断的时数组增大
}

只需
for($i=0;$i<count($arr)-1;$i++)
一切引刃而解

——解决方案——————–

引用:

引用:可以解释一下为什么我写错那个是个死循环吗?我看不出来。求数组最大值

PHP code?

123456789

$array=array(11,12,13,14); echo $array[arrMax($array)]; function arrMax($arr) { $m = ma……

老徐给你答案了,一般来说如果内存不断上涨,一直在刷新,那么基本就是代码存在死循环了.


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:程序搞死机了,不知道为啥

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址