不可以!

不可以!

时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述

判断:两个数x、y的正负性。

要求:不可以使用比较运算符,即"<",">","<=",">=","==","!="

输入
有多组数据,每组数据占一行,每一行两个数x,y。
x、y保证在int范围内。
输出
每组数据输出占一行。
如果两个数是一正一负,输出"Signs are opposite"
如果是同为正或同为负,输出"Signs are not opposot"
如果无法确定,输出"Signs can't be sure"
输出不包括引号
样例输入
1 1
-1 1
样例输出
Signs are not opposot
Signs are opposite
#include<iostream>
using namespace std;
int main()
{
	int a,b;
	while(cin>>a>>b)
	{
		if(!(a*b)) cout<<"Signs can't be sure"<<endl;
		else {
			int x=a>>31;
			int y=b>>31;
			if(-x+y) cout<<"Signs are opposite"<<endl;
			else cout<<"Signs are not opposot"<<endl;
		}
	}
	return 0;
}


<think>好的,用户问的是JavaScript中的“等于”是是用“!=”。我需要先确认JavaScript中的等于运算符,然后考虑用户可能的背景和需求。 首先,JavaScript中的等于运算符有两个:“!=”和“!==”。前者是宽松等于,后者是严格等于。宽松的会进行类型转换,而严格的会。比如,1 != '1' 是false,因为类型转换后相等;而1 !== '1' 是true,因为类型同。 用户可能刚开始学JavaScript,对运算符熟悉,或者在实际编码中遇到了问题。需要解释清楚两者的区别,避免混淆。还要举例说明,帮助用户理解同情况下的结果差异。 另外,用户的问题可能源于常见的错误,比如在比较时没有考虑类型,导致预期外的结果。这时候强调严格等于的重要性,推荐使用“!==”来避免类型转换带来的问题,会更实用。 最后,确保回答结构清晰,分点说明,给出示例,这样用户能逐步理解。同时提醒使用严格运算符的好处,帮助用户写出更可靠的代码。</think>在 JavaScript 中,表示“等于”的运算符有两种形式: 1. **宽松等于 `!=`** - 仅比较值是否相等,会进行类型转换 - 示例: ```javascript 5 != "5" // false(字符串 "5" 转换为数字 5 后相等) null != undefined // false(特殊规则下视为相等) ``` 2. **严格等于 `!==`** - 同时比较值和类型,会进行类型转换 - 示例: ```javascript 5 !== "5" // true(数字类型 ≠ 字符串类型) null !== undefined // true(类型同) ``` ### 关键区别 | 运算符 | 比较方式 | 示例 `1 != '1'` | 示例 `1 !== '1'` | |--------|----------------|-----------------|------------------| | `!=` | 值转换后比较 | false | - | | `!==` | 值和类型均比较 | - | true | ### 推荐用法 - **优先使用 `!==`** 避免隐式类型转换带来的意外结果(如 `0 == ""` 返回 `true`) - **特殊注意 `NaN`** 任何值(包括自身)与 `NaN` 比较均相等,需用 `isNaN()` 判断: ```javascript NaN != NaN // true NaN !== NaN // true ``` 通过严格比较可以更精确地控制代码逻辑,减少潜在错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值