在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

lilihe92 ? 來源:最后一個bug ? 2023-11-21 09:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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); } 因為a++是先判斷a的值再自加,而a初始值為0, 所以(a++)為假,由短路現(xiàn)象可知&&后面式子b++和--c就都不會執(zhí)行;對于賦值語句,是先將a的值賦值給d,然后再自加,所以d的值為0,a最終為1。 執(zhí)行結(jié)果:

4f93015c-880b-11ee-939d-92fbcf53809c.png

短路現(xiàn)象2

比如有以下表達式:

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); } 因為a++是先判斷a的值再自加,而a初始值為0, 所以(a++)為假,由短路現(xiàn)象可知,還需要繼續(xù)判斷 || 后面的表達式b++,b++要先判斷b的值,b為1,所以b++為真,由短路現(xiàn)象可知,后面的式子--c就不在執(zhí)行;對于賦值語句,不再是將a的值賦值給d,而是將b先賦值給d然后a和b再自加,所以d的值為1,a最終為1,b最終為2。 執(zhí)行結(jié)果:

4fcad3ca-880b-11ee-939d-92fbcf53809c.png

編輯:黃飛

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

    關注

    5

    文章

    601

    瀏覽量

    31725
  • C語言
    +關注

    關注

    180

    文章

    7630

    瀏覽量

    140969

原文標題:簡單但容易掉坑,C語言所謂的短路現(xiàn)象

文章出處:【微信號:最后一個bug,微信公眾號:最后一個bug】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C語言中宏定義的應用

    C語言中,宏定義是一種預處理指令,用于在代碼中定義和使用常量、函數(shù)或代碼片段的替代。
    發(fā)表于 08-17 15:33 ?1158次閱讀

    C語言中for循環(huán)的用法和應用 C語言中for循環(huán)與while循環(huán)的區(qū)別

    C語言中的循環(huán)結(jié)構(gòu)時,for循環(huán)是最常用的一種。它允許重復執(zhí)行一段代碼,直到滿足特定條件為止。
    發(fā)表于 08-18 16:33 ?3886次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>for循環(huán)的用法和應用 <b class='flag-5'>C</b><b class='flag-5'>語言中</b>for循環(huán)與while循環(huán)的區(qū)別

    C語言中基本數(shù)據(jù)類型、變量和常量的使用

    C語言中基本數(shù)據(jù)類型、變量和常量的使用
    發(fā)表于 08-18 16:42 ?3656次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>基本數(shù)據(jù)類型、變量和常量的使用

    C語言中結(jié)構(gòu)體能不能相加

    C語言中,結(jié)構(gòu)體能不能相加?
    的頭像 發(fā)表于 12-19 17:04 ?1627次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>結(jié)構(gòu)體能不能相加

    C語言中指針的介紹非常詳細

    C語言中指針的介紹非常詳細 C語言中指針的介紹非常詳細
    發(fā)表于 12-25 10:39 ?57次下載

    C語言和匯編語言混合編程方法和C語言中斷處理方法

    C語言和匯編語言混合編程方法和C語言中斷處理方法,new
    發(fā)表于 01-06 14:36 ?36次下載

    C語言中的關鍵字

    C語言中的入門教程
    發(fā)表于 10-14 16:24 ?3次下載

    C語言中隨機數(shù)的生成代碼

    C語言中隨機數(shù)的生成完整代碼:
    的頭像 發(fā)表于 02-20 09:21 ?1.1w次閱讀

    總結(jié)那么幾個C語言中的“坑”

    總結(jié)幾個C語言中的“坑”
    的頭像 發(fā)表于 01-16 10:52 ?2863次閱讀

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

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

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

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

    c#語言中怎么使用HTTP代理

    c#語言中怎么使用HTTP代理。
    的頭像 發(fā)表于 09-01 14:46 ?2353次閱讀

    scanf在C語言中的作用

    scanf在C語言中的作用? scanf是C語言中的輸入函數(shù),用于從標準輸入設備(如鍵盤)讀取數(shù)據(jù),并將其存儲到變量中。它是C
    的頭像 發(fā)表于 11-23 14:13 ?2123次閱讀

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

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

    C語言中的socket編程基礎

    Socket編程簡介 Socket是一種通信機制,允許程序之間進行通信。在C語言中,socket編程是網(wǎng)絡編程的基礎。通過使用socket,程序可以發(fā)送和接收數(shù)據(jù),實現(xiàn)不同計算機之間的通信
    的頭像 發(fā)表于 11-01 16:51 ?1141次閱讀
    主站蜘蛛池模板: 午夜免费体验 | 国模伊人 | 天天草天天爽 | 中文字幕一精品亚洲无线一区 | 奇米影视7777久久精品 | 你懂的免费 | 亚洲不卡在线播放 | 四虎影视色费永久在线观看 | 亚洲视频四区 | 亚洲狠狠狠一区二区三区 | 亚洲大香伊人蕉在人依线 | 国产三级日本三级在线播放 | 日韩一级黄 | 色福利在线| 不卡一级毛片免费高清 | 三级欧美视频 | 色免费看 | 国产三级精品在线观看 | www.九色.com| 在线精品国产成人综合第一页 | 国产精品三级a三级三级午夜 | 中国性猛交xxxxx免费看 | 精品福利| 久久精品国产免费高清 | 亚洲国产婷婷香蕉久久久久久 | 97天天摸天天碰天天爽 | 免费在线不卡视频 | 欧美深夜 | nxgx欧美| 色多多在线看 | 中文字幕在线一区二区三区 | 中文一区在线 | 国产成人无精品久久久久国语 | 一区二区三区无码高清视频 | av福利网址网站 | 女bbbbxxxx毛片视频丶 | 四虎精品永久在线 | 亚洲午夜精品久久久久久人妖 | 免费国产成人午夜私人影视 | 国模极品一区二区三区 | 狠狠色婷婷 |