c 中=和==的区别有哪些?
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 中=和==的区别有哪些?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言字符串输出函数puts()的作用是
- 下一篇: C语言中sizeof和strlen的区别