为了账号安全,请及时绑定邮箱和手机立即绑定

x<y时错误,不懂原因

代码如下:

<script type="text/javascript">

//定义函数
function compare(x,y){
    if(x>y){
        document.write(x+"和"+y+"的较大值是:"+x+"<br>");
    }
    else if(x=y){
        document.write(x+"和"+y+"的值相等"+"<br>");
    }
    else {
        document.write(x+"和"+y+"的较大值是:"+y+"<br>");
    }
    
}
//函数体,判断两个整数比较的三种情况

compare (5,4);
compare (7,7);
compare (1,3);


运行结果:前两个正常,但运行第三个1和3比较大小时,会输出:3=3,不知是什么原因,想了半天没想明白,求指教,谢谢!

正在回答

3 回答

这里不应该是x=y,而是x==y。x=y意思是将y的值赋予变量x,x==y意思是x等于y。

0 回复 有任何疑惑可以回复我~

楼上正解,一个“=”是赋值操作,只要不为0就认为是真,你前面两个比较没有体现出这个错误。

0 回复 有任何疑惑可以回复我~

刚才调整了下顺序,把x<y提到 x=y前面去了之后就成功了

猜想了下,会不会x=y在前面的话,程序认为是把y的值赋值给了x,所以x也等于了3,导致x、y的值就相同了

不知道是不是这个原因啊?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

x<y时错误,不懂原因

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信