c 中=和==的区别有哪些?
c 中=和==的區(qū)別
1、含義不同:
“=”是賦值的意思。
它的作用是將一個(gè)表達(dá)式的值賦給一個(gè)左值。一個(gè)表達(dá)式或者是一個(gè)左值,或者是一個(gè)右值。所謂左值是指一個(gè)能用于賦值運(yùn)算左邊的表達(dá)式。左值必須能夠被修改,不能是常量。我們用變量作左值,還可以看到,指針和引用也可以作左值。
“==”是相等操作符,判斷兩邊是否相等。利用相等運(yùn)算符,如果希望相等運(yùn)算符返回true,則運(yùn)算符兩側(cè)的值或語(yǔ)句必須使相等的;如果不相等,則==運(yùn)算符返回false。
2、是否存在強(qiáng)制轉(zhuǎn)換:
“=”該運(yùn)算符將執(zhí)行強(qiáng)制類型轉(zhuǎn)換,所以也會(huì)有一些特殊的規(guī)則:
(1)如果一個(gè)操作數(shù)是數(shù)字,另一個(gè)是字符串,==運(yùn)算符會(huì)嘗試在比較之前將字符串轉(zhuǎn)換成數(shù)字;
(2)如果一個(gè)操作數(shù)是布爾值,那么在比較之前它將會(huì)被運(yùn)算符強(qiáng)制轉(zhuǎn)換成為數(shù)值類型,在這種情況下,true被轉(zhuǎn)換為1,而false被轉(zhuǎn)換為0。
(3)如果一個(gè)操作數(shù)是null,而另一個(gè)是underfined,比較結(jié)果為true;
(4)如果一個(gè)或兩個(gè)操作數(shù)都是NaN,比較結(jié)果為false。
“==”不存在強(qiáng)制轉(zhuǎn)換,而是賦值運(yùn)算將原變量的值拷貝到新變量中(傳值賦值),所以改變其中一個(gè)并不影響另一個(gè)。
3、返回值的結(jié)果不同:
“=”的結(jié)果實(shí)際上意味著把右邊表達(dá)式的值賦給左邊的運(yùn)算數(shù)。賦值運(yùn)算表達(dá)式的值也就是所賦的值。也就是說(shuō),“$a = 3”的值是 3。
“==”則不同,它會(huì)返回false或true值。所以例如“4”==4這樣的語(yǔ)句將返回true,因?yàn)閖avascript會(huì)將字符“4”轉(zhuǎn)換成數(shù)字4。如果希望該語(yǔ)句返回false,則需要使用恒等運(yùn)算符(===)。
聲明:
本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來(lái)源信息有誤或侵犯權(quán)益,請(qǐng)聯(lián)系我們刪除或授權(quán)事宜。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的c 中=和==的区别有哪些?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C语言字符串输出函数puts()的作用是
- 下一篇: 虾的调汁怎么做 虾调汁的做法