逗號(hào)表達(dá)式:是C語言中的逗號(hào)運(yùn)算符,優(yōu)先級(jí)別最低,它將兩個(gè)及其以上的式子聯(lián)接起來,①從左往右逐個(gè)計(jì)算表達(dá)式,②整個(gè)表達(dá)式的值為最后一個(gè)表達(dá)式的值。
成都創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有十余年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),上千客戶的共同信賴。提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)站定制、友情鏈接、建網(wǎng)站、網(wǎng)站搭建、自適應(yīng)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)——百度百科?
如果令x的初始值為1的話,++x與x++最終結(jié)果都是2,但在其過程中會(huì)有較大差異。(--x與x++同理)
在過程中:
++x是2(x位于++后是加完之后),過程中是2。
x++是1(x位于++前是加完之前),過程中是1。
我是這么記憶的,一下子就很有印象,但只有到真正去到題中實(shí)踐理論,就會(huì)豁然開朗。
辨析一:#includeint main()
{
int x=1,y=1,z=1;
z=x++,y++,++y;
printf("%d%d%d",x,y,z);
return 0;
}
大家首先看一下,z的最終結(jié)果是什么呢?
對(duì)于剛接觸逗號(hào)表達(dá)式的同學(xué)來說,小編當(dāng)時(shí)依據(jù)上面的①②兩點(diǎn),流程大概如下
在z=x++,y++,++y;z等于整個(gè)逗號(hào)表達(dá)式最后的值嗎!在這個(gè)過程中y的結(jié)果是2,那z也是2咯,
最后x=2,y=3,z=2。簡簡單單咯~但這是錯(cuò)的,實(shí)際輸入,得出的結(jié)果如下
吃了個(gè)大驚,怎么z等于1呢,追回源頭,在哪出現(xiàn)過1呢!原來在流程1中x的過程結(jié)果是1,嗯?z不是等于逗號(hào)表達(dá)式最后的值嗎!?
其實(shí)此處是優(yōu)先級(jí)還沒明白!在z=x++,y++,++y;中z=x++含有賦值運(yùn)算符,其優(yōu)先級(jí)要高于逗號(hào)運(yùn)算符。逗號(hào)運(yùn)算符的優(yōu)先級(jí)是最小。此處相當(dāng)于(z=x++),y++,++y;
如果要實(shí)現(xiàn)我們所想要的結(jié)果則只需變成z=(x++,y++,++y);
代碼如下,結(jié)果如下
辨析二:#includeint main()
{
int z=1;
printf("%d\n",(z+=1,z+5,z++));
//printf("%d",z);
return 0;
}
大家還是看一下,z的最終結(jié)果是什么呢?
大家看一下下面流程思路正確嗎?
理論實(shí)踐
吃驚+1,怎么跟我預(yù)想的相差5呢!?
此處的z+5,并沒有什么實(shí)際意義,并不是z+=5!其它的就是大致相同了。
那小伙伴知道z最后的結(jié)果嗎?
#includeint main()
{
int z=1;
printf("%d\t",(z+=1,z+5,z++));
printf("%d",z);
return 0;
}
趕快理論實(shí)踐吧!
希望對(duì)你有幫助,語言學(xué)習(xí)貴在堅(jiān)持輸入和輸出!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
新聞標(biāo)題:C語言:逗號(hào)表達(dá)式(辨析)-創(chuàng)新互聯(lián)
瀏覽路徑:http://muchs.cn/article8/iosop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、品牌網(wǎng)站建設(shè)、App開發(fā)、搜索引擎優(yōu)化、服務(wù)器托管、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容