c 中=和==的区别

1、含义不同:

“=”是赋值的意思。

它的作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们用变量作左值,还可以看到,指针和引用也可以作左值。

“==”是相等操作符,判断两边是否相等。利用相等运算符,如果希望相等运算符返回true,则运算符两侧的值或语句必须使相等的;如果不相等,则==运算符返回false。

2、是否存在强制转换:

“=”该运算符将执行强制类型转换,所以也会有一些特殊的规则:

(1)如果一个操作数是数字,另一个是字符串,==运算符会尝试在比较之前将字符串转换成数字;

(2)如果一个操作数是布尔值,那么在比较之前它将会被运算符强制转换成为数值类型,在这种情况下,true被转换为1,而false被转换为0。

(3)如果一个操作数是null,而另一个是underfined,比较结果为true;

(4)如果一个或两个操作数都是NaN,比较结果为false。

“==”不存在强制转换,而是赋值运算将原变量的值拷贝到新变量中(传值赋值),所以改变其中一个并不影响另一个。

3、返回值的结果不同:

“=”的结果实际上意味着把右边表达式的值赋给左边的运算数。赋值运算表达式的值也就是所赋的值。也就是说,“$a = 3”的值是 3。

“==”则不同,它会返回false或true值。所以例如“4”==4这样的语句将返回true,因为javascript会将字符“4”转换成数字4。如果希望该语句返回false,则需要使用恒等运算符(===)。

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

c 中=和==的区别有哪些?相关推荐

  1. MyBatis中#{}和${}的区别

    ------------------------siwuxie095 MyBatis 中 #{} 和 ${} 的区别 1.在 MyBatis 的映射配置文件中,动态传递参数有两种方式: (1)#{} ...

  2. Mybatis 中$与#的区别

    1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于 select i ...

  3. mybatis 中#与$的区别

    2019独角兽企业重金招聘Python工程师标准>>> MyBatis中#和$的区别 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #u ...

  4. js中!和!!的区别及用法

    js中!和!!的区别及用法 js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值, 1.!可将变量转换成boolean类型,null.undefined和 ...

  5. Activity中与ListActivity中使用listview区别

    一.Activity中与ListActivity中使用listview区别(本身没多大区别,只是ListActivity在listview的显示上做了一些优化) Activity中使用Listview ...

  6. js中onload和jQuery中的ready区别

    js中onload和jQuery中的ready区别 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. ------>不能写多个(如果有多个,只会执行一个) $(do ...

  7. Go语言中*和的区别

    Go语言中*和&的区别 总结 示例 老是分不清*和&的区别,今天特意总结了一下. 1. 总结 &是取地址符. *可以表示一个变量是指针类型,也可以表示指针类型变量所指向的存储单 ...

  8. python学习-综合练习三(斐波那契数列、阿姆斯特朗数、//和/、十进制转二进制bin、八进制oct、十六进制hex、进制转换源码、python中::和:的区别)

    文章目录 斐波那契数列 阿姆斯特朗数 十进制转二进制bin.八进制oct.十六进制hex 补充进制转换源码 python中::和:的区别 说明:本篇博文的知识点大部分来自 Python3 实例 斐波那 ...

  9. 【ArcGIS风暴】全站仪、RTK测量坐标数据在CASS和ArcGIS中展点的区别和联系(带数据)

    ArcGIS展经纬度点完整教程:[ArcGIS风暴]ArcGIS 10.2导入Excel数据X.Y坐标(经纬度.平面坐标),生成Shapefile点数据图层 目录 1. CASS展点操作步骤 2. A ...

最新文章

  1. 皮一皮:死要面子啊...
  2. 利用ajax赋值,jquery利用async在ajax中给全局变量赋值
  3. boost::hana::min用法的测试程序
  4. MySQL中myisam和innodb的主键索引有什么区别?
  5. mysql create database to_MySQL中CREATE DATABASE和CREATE SCHEMA区别(转)
  6. python有哪些常用的库
  7. 使用这个库,让你的服务操作 Redis 速度飞起
  8. gdc服务器维修公司,gdc服务器阵列架坏了
  9. mysql 表格入门_MySQL-快速入门(1)基本数据库、表操作语句
  10. SpringBoot:事件的发布和监听
  11. 11年的macbook还能用吗_致我2011年买的macbook pro 15寸一封信
  12. [沈航软工教学] 学生项目Coding地址汇总
  13. SQL解密ctext字段内容函数
  14. SIFI尺度不变特征变换算法
  15. java配置文件密码加密解密_Java-从配置文件加密/解密用户名和密码
  16. 用聚宽量化炒股-3常用对象
  17. 微信小程序navigate标签
  18. 计算机怎么分硬盘,电脑分区怎么分_电脑分区怎么分合理
  19. c51语言主函数,51单片机的基本c51语言程序介绍
  20. 苹果手机软件升级密码_安卓系统用久了会卡,苹果系统就能一直流畅?

热门文章

  1. javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第3部分
  2. javafx中的tree_JavaFX中的塔防(2)
  3. PCF上的Spring Cloud合同和Spring Cloud Services
  4. java jsr_Java EE 7中包含哪些JSR?
  5. spring aop实践_使用Spring AOP实现活动记录模式
  6. xml对象映射_将对象映射到多个XML模式–天气示例
  7. resteasy_Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务– Eclipse和Maven项目
  8. 当null检查非常失败时
  9. 创建Sonarqube项目
  10. 测试抽象类和模板方法模式