0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言的短路現(xiàn)象

硬件攻城獅 ? 來源:硬件攻城獅 ? 2023-12-07 12:20 ? 次閱讀

C語(yǔ)言短路現(xiàn)象算是C語(yǔ)言的基礎(chǔ)吧,不過有時(shí)候代碼寫得不規(guī)范也容易引入一些bug,所以這些操作在工程師實(shí)踐中盡量少用。 雖然下面找的例子比較簡(jiǎn)單,但如果后面是其他表達(dá)式,或許你并不會(huì)那么容易分辨。并且,你可能會(huì)斬釘截鐵的說,我絕對(duì)不會(huì)這樣編寫我的代碼,但你確定的同事不會(huì)這樣?你的前同事不會(huì)? 好了,下面的案例來源于網(wǎng)絡(luò),僅供參考: 短路現(xiàn)象1 比如有以下表達(dá)式:

a&&b&&c 只有a為真(非0)才需要判斷b的值;只有a和b都為真,才需要判斷c的值。

舉例

求最終a、b、c、d的值。


main() { inta,b,c,d;  a=0; b=1; c=2; d=a++&&b++&&--c;  printf("a=%db=%dc=%dd=%d ",a,b,c,d); } 因?yàn)閍++是先判斷a的值再自加,而a初始值為0, 所以(a++)為假,由短路現(xiàn)象可知&&后面式子b++和--c就都不會(huì)執(zhí)行;對(duì)于賦值語(yǔ)句,是先將a的值賦值給d,然后再自加,所以d的值為0,a最終為1。 執(zhí)行結(jié)果:

9131071e-94b1-11ee-939d-92fbcf53809c.png

短路現(xiàn)象2

比如有以下表達(dá)式:

a||b||c 只要a為真(非0)就不必判斷b和c;只有a為假,才需要判斷b的值;只有a和b都為假,才有必要判斷c的值。

舉例

求最終a、b、c、d的值;


main() { inta,b,c,d;  a=0; b=1; c=2; d=a++||b++||--c;  printf("a=%db=%dc=%dd=%d ",a,b,c,d); } 因?yàn)閍++是先判斷a的值再自加,而a初始值為0, 所以(a++)為假,由短路現(xiàn)象可知,還需要繼續(xù)判斷 || 后面的表達(dá)式b++,b++要先判斷b的值,b為1,所以b++為真,由短路現(xiàn)象可知,后面的式子--c就不在執(zhí)行;對(duì)于賦值語(yǔ)句,不再是將a的值賦值給d,而是將b先賦值給d然后a和b再自加,所以d的值為1,a最終為1,b最終為2。 執(zhí)行結(jié)果:

91464282-94b1-11ee-939d-92fbcf53809c.png

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 短路
    +關(guān)注

    關(guān)注

    5

    文章

    508

    瀏覽量

    30894
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135579

原文標(biāo)題:簡(jiǎn)單卻又容易掉坑!C語(yǔ)言的短路現(xiàn)象

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    檢查與電機(jī)連線是否有短路現(xiàn)象

    FD-B系列故障代碼故障代碼 故障現(xiàn)象/類型 故障原因 解決對(duì)策occ 交流電機(jī)驅(qū)動(dòng)偵測(cè)輸出側(cè)有異常突增的過電流產(chǎn)生檢查電機(jī)額定與電流驅(qū)動(dòng)器額定是否相匹配檢查交流電機(jī)驅(qū)動(dòng)器U-V-W見有無短路
    發(fā)表于 09-03 06:07

    短路/短路的發(fā)生與對(duì)策

    作者:李勇成  有些微短路.短路現(xiàn)象的成品板,用普通低壓電腦
    發(fā)表于 04-16 21:46 ?1192次閱讀

    鉛酸蓄電池短路有哪些現(xiàn)象?

    鉛酸蓄電池短路有哪些現(xiàn)象 (1) 開路電壓低,閉路電壓 ( 放電 ) 很快達(dá)到終止電壓。  (2) 大電流放電時(shí),端電壓迅速下降到零。  (3) 開
    發(fā)表于 10-24 13:46 ?3302次閱讀

    鉛蓄電池短路現(xiàn)象及原因

    鉛蓄電池短路現(xiàn)象及原因 鉛蓄電池的短路系指鉛蓄電池內(nèi)部正負(fù)極群相連。鉛蓄電池短路現(xiàn)象主要表現(xiàn)在以下幾個(gè)方面:    (1)開路電壓低,
    發(fā)表于 10-28 11:24 ?757次閱讀

    C語(yǔ)言簡(jiǎn)單概述

    C語(yǔ)言簡(jiǎn)介C語(yǔ)言簡(jiǎn)介C語(yǔ)言簡(jiǎn)介C
    發(fā)表于 11-20 14:14 ?0次下載

    C語(yǔ)言入門經(jīng)典-C語(yǔ)言編程

    C語(yǔ)言入門經(jīng)典-C語(yǔ)言編程,感興趣的可以看看哦。
    發(fā)表于 08-16 18:54 ?121次下載

    C語(yǔ)言中的短路現(xiàn)象

    短路現(xiàn)象1 比如有以下表達(dá)式 abc 只有a為真(非0)才需要判斷b的值;只有a和b都為真,才需要判斷c的值。 舉例 求最終a、b、c、d的值。 main() { inta,b,
    的頭像 發(fā)表于 09-29 14:39 ?2543次閱讀

    詳解C語(yǔ)言中的短路現(xiàn)象

      C語(yǔ)言一經(jīng)出現(xiàn),就以其功能豐富、表達(dá)能力強(qiáng)、靈活方便、應(yīng)用面廣等特點(diǎn)迅速在全世界普及和推廣。C語(yǔ)言不但執(zhí)行效率高,而且可移植性好,可以用來開發(fā)應(yīng)用軟件、驅(qū)動(dòng)、操作系統(tǒng)等。而
    的頭像 發(fā)表于 03-12 12:23 ?3898次閱讀
    詳解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中的<b class='flag-5'>短路</b><b class='flag-5'>現(xiàn)象</b>

    電機(jī)匝間短路現(xiàn)象 電機(jī)匝間短路的原因

    電機(jī)匝間短路是指電機(jī)線圈中的兩個(gè)相鄰匝之間發(fā)生了短路。這種現(xiàn)象會(huì)導(dǎo)致電機(jī)出現(xiàn)故障,嚴(yán)重的情況下可能會(huì)導(dǎo)致電機(jī)無法正常工作。
    發(fā)表于 03-19 15:16 ?1.3w次閱讀

    電機(jī)繞組匝間短路有哪些現(xiàn)象

    電機(jī)繞組發(fā)生匝間短路,會(huì)有以下現(xiàn)象
    的頭像 發(fā)表于 07-24 11:00 ?2489次閱讀

    什么是短路,什么是接地故障現(xiàn)象

    我們所說的短路,其實(shí)就是指相線之間、相線與中性線之間的直接觸碰,產(chǎn)生的電流就是短路故障電流。由于短路點(diǎn)的電阻不是很大,并且線路阻抗也同樣是比較小的,因此,短路電流也就很大。
    發(fā)表于 08-02 09:38 ?2821次閱讀
    什么是<b class='flag-5'>短路</b>,什么是接地故障<b class='flag-5'>現(xiàn)象</b>

    盤點(diǎn)電機(jī)繞組匝間短路可能出現(xiàn)的現(xiàn)象

    盤點(diǎn)電機(jī)繞組匝間短路可能出現(xiàn)的現(xiàn)象
    的頭像 發(fā)表于 08-11 10:28 ?990次閱讀

    淺談C語(yǔ)言中的短路現(xiàn)象

    C語(yǔ)言短路現(xiàn)象算是C語(yǔ)言的基礎(chǔ)吧,不過有時(shí)候代碼寫得不規(guī)范也容易引入一些bug,所以這些操作在工
    的頭像 發(fā)表于 11-21 09:25 ?404次閱讀
    淺談<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中的<b class='flag-5'>短路</b><b class='flag-5'>現(xiàn)象</b>

    幫你避雷 C語(yǔ)言所謂的短路現(xiàn)象~

    C語(yǔ)言短路現(xiàn)象算是C語(yǔ)言的基礎(chǔ)吧,不過有時(shí)候代碼寫得不規(guī)范也容易引入一些bug,所以這些操作在工
    的頭像 發(fā)表于 03-27 08:09 ?354次閱讀
    幫你避雷 <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>所謂的<b class='flag-5'>短路</b><b class='flag-5'>現(xiàn)象</b>~

    電源變壓器短路會(huì)出現(xiàn)什么現(xiàn)象

    電源變壓器短路是指電路中有兩個(gè)本來不應(yīng)該直接相接的線路出現(xiàn)了導(dǎo)通狀態(tài),這會(huì)導(dǎo)致電源電壓驟降或電源短路過流,從而對(duì)電子設(shè)備造成損壞。以下是對(duì)電源變壓器短路現(xiàn)象的詳細(xì)分析,涵蓋其表現(xiàn)、原因
    的頭像 發(fā)表于 10-21 17:33 ?118次閱讀