function seclar(){
var x=123456789, largest, secondlargest;
largest=parseInt(prompt("Enter a number", ""));
while(x != 0){
x=parseInt(prompt("Enter a number", ""));
if(x>=largest){
secondlargest=largest;
largest=x;
}
else if(x>=secondlargest && x!=largest){
secondlargest=x;
}
}
alert("Second largest is " + secondlargest);
}
当输入不同数字位数时,警告返回undefined。请帮忙。
答案 0 :(得分:0)
如果您输入的x
小于先前输入的largest
,则您的代码会尝试进行以下比较:
x >= secondlargest && x != largest
虽然尚未为secondlargest
分配任何值,但它为undefined
。因此,比较x >= secondlargest
将是false
。
因此,当您最终转到alert
语句时,secondlargest
仍未分配任何值。