精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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)象

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:嵌入式ARM ? 2022-03-12 12:23 ? 次閱讀

C語(yǔ)言一經(jīng)出現(xiàn),就以其功能豐富、表達(dá)能力強(qiáng)、靈活方便、應(yīng)用面廣等特點(diǎn)迅速在全世界普及和推廣。C語(yǔ)言不但執(zhí)行效率高,而且可移植性好,可以用來開發(fā)應(yīng)用軟件、驅(qū)動(dòng)、操作系統(tǒng)等。而C語(yǔ)言也是其它眾多高級(jí)語(yǔ)言的鼻祖語(yǔ)言,所以說學(xué)習(xí)C語(yǔ)言是進(jìn)入編程世界的必修課。但是你知道嗎,C語(yǔ)言也是會(huì)短路的。

短路現(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é)果:

短路現(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é)果:
fc5a3b62-92f3-11ec-952b-dac502259ad0.png

原文標(biāo)題:C語(yǔ)言中的短路現(xiàn)象

文章出處:【微信公眾號(hào):嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅


聲明:本文內(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)投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6737

    瀏覽量

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

    關(guān)注

    180

    文章

    7598

    瀏覽量

    136172
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3591

    瀏覽量

    93592

原文標(biāo)題:C語(yǔ)言中的短路現(xiàn)象

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式C語(yǔ)言中的goto語(yǔ)句詳解

    goto語(yǔ)句被稱為C語(yǔ)言中的跳轉(zhuǎn)語(yǔ)句。用于無條件跳轉(zhuǎn)到其他標(biāo)簽。它將控制權(quán)轉(zhuǎn)移到程序的其他部分。
    發(fā)表于 07-19 16:08 ?3305次閱讀
    嵌入式<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>的goto語(yǔ)句<b class='flag-5'>詳解</b>

    C語(yǔ)言中宏定義的應(yīng)用

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

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

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

    C語(yǔ)言中if語(yǔ)句、if-else語(yǔ)句和switch語(yǔ)句詳解

    C語(yǔ)言中,有三種條件判斷結(jié)構(gòu):if語(yǔ)句、if-else語(yǔ)句和switch語(yǔ)句。
    發(fā)表于 08-18 16:36 ?1.2w次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>if語(yǔ)句、if-else語(yǔ)句和switch語(yǔ)句<b class='flag-5'>詳解</b>

    C語(yǔ)言中賦值運(yùn)算符詳解

    C語(yǔ)言中,賦值運(yùn)算符用于將一個(gè)值賦給變量。
    發(fā)表于 08-18 16:38 ?1828次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>賦值運(yùn)算符<b class='flag-5'>詳解</b>

    C語(yǔ)言中指針的介紹非常詳細(xì)

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

    C語(yǔ)言和匯編語(yǔ)言混合編程方法和C語(yǔ)言中斷處理方法

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

    C語(yǔ)言中的關(guān)鍵字

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

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

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

    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 ?2569次閱讀

    c#語(yǔ)言中怎么使用HTTP代理

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

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

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

    scanf在C語(yǔ)言中的作用

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

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

    C語(yǔ)言短路現(xiàn)象算是C語(yǔ)言的基礎(chǔ)吧,不過有時(shí)候代碼寫得不規(guī)范也容易引入一些bug,所以這些操作在工
    的頭像 發(fā)表于 03-27 08:09 ?391次閱讀
    幫你避雷 <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ǔ)言中的socket編程基礎(chǔ)

    Socket編程簡(jiǎn)介 Socket是一種通信機(jī)制,允許程序之間進(jìn)行通信。在C語(yǔ)言中,socket編程是網(wǎng)絡(luò)編程的基礎(chǔ)。通過使用socket,程序可以發(fā)送和接收數(shù)據(jù),實(shí)現(xiàn)不同計(jì)算機(jī)之間的通信
    的頭像 發(fā)表于 11-01 16:51 ?240次閱讀