欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C語言:逗號表達式(辨析)-創(chuàng)新互聯(lián)

逗號表達式:是C語言中的逗號運算符,優(yōu)先級別最低,它將兩個及其以上的式子聯(lián)接起來,①從左往右逐個計算表達式,②整個表達式的值為最后一個表達式的值。

成都創(chuàng)新互聯(lián)公司網(wǎng)絡公司擁有十余年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗,上千客戶的共同信賴。提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)站定制、友情鏈接、建網(wǎng)站、網(wǎng)站搭建、自適應網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計師打造企業(yè)風格,提供周到的售前咨詢和貼心的售后服務

——百度百科?

如果令x的初始值為1的話,++x與x++最終結(jié)果都是2,但在其過程中會有較大差異。(--x與x++同理)

在過程中:

++x是2(x位于++后是加完之后),過程中是2。

x++是1(x位于++前是加完之前),過程中是1。

我是這么記憶的,一下子就很有印象,但只有到真正去到題中實踐理論,就會豁然開朗。

辨析一:
#includeint main()
{
	int x=1,y=1,z=1;
	z=x++,y++,++y;
	printf("%d%d%d",x,y,z);
	return 0;
}

大家首先看一下,z的最終結(jié)果是什么呢?

對于剛接觸逗號表達式的同學來說,小編當時依據(jù)上面的①②兩點,流程大概如下

流程1
流程2

在z=x++,y++,++y;z等于整個逗號表達式最后的值嗎!在這個過程中y的結(jié)果是2,那z也是2咯,

最后x=2,y=3,z=2。簡簡單單咯~但這是錯的,實際輸入,得出的結(jié)果如下

吃了個大驚,怎么z等于1呢,追回源頭,在哪出現(xiàn)過1呢!原來在流程1中x的過程結(jié)果是1,嗯?z不是等于逗號表達式最后的值嗎?。?/p>

其實此處是優(yōu)先級還沒明白!在z=x++,y++,++y;中z=x++含有賦值運算符,其優(yōu)先級要高于逗號運算符。逗號運算符的優(yōu)先級是最小。此處相當于(z=x++),y++,++y;

如果要實現(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é)果是什么呢?

大家看一下下面流程思路正確嗎?

理論實踐

吃驚+1,怎么跟我預想的相差5呢!?

此處的z+5,并沒有什么實際意義,并不是z+=5!其它的就是大致相同了。

那小伙伴知道z最后的結(jié)果嗎?

#includeint main()
{
	int z=1;
	printf("%d\t",(z+=1,z+5,z++));
	printf("%d",z);
	return 0;
}

趕快理論實踐吧!

希望對你有幫助,語言學習貴在堅持輸入和輸出!

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

新聞標題:C語言:逗號表達式(辨析)-創(chuàng)新互聯(lián)
瀏覽路徑:http://chinadenli.net/article8/iosop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)品牌網(wǎng)站建設(shè)、App開發(fā)、搜索引擎優(yōu)化服務器托管、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管