最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C/C++編程筆記:C語言中逗號運(yùn)算符和逗號表達(dá)式,帶你仔細(xì)區(qū)分!

2020-05-16 16:54 作者:C語言編程__Plus  | 我要投稿


C語言提供一種特殊的運(yùn)算符——逗號運(yùn)算符。用它將兩個(gè)表達(dá)式連接起來。如:

  3+5,6+8

稱為逗號表達(dá)式,又稱為“順序求值運(yùn)算符”。逗號表達(dá)式的一般形式為

? ? ?表達(dá)式1,表達(dá)式2

逗號表達(dá)式的求解過程是:先求解表達(dá)式1,再求解表達(dá)式2。整個(gè)逗號表達(dá)式的值是表達(dá)式2的值。例如,上面的逗號表達(dá)式“3+5,6+8”的值為14。又如,逗號表達(dá)式

  a=3*5,a*4

對此表達(dá)式的求解,讀者可能會有兩種不同的理解:

一種認(rèn)為“3*5,a*4”是一個(gè)逗號表達(dá)式,先求出此逗號表達(dá)式的值, 如果a的原值為3,則逗號表達(dá)式的值為12,將12賦給a,因此最后a的值為12。另一種認(rèn)為:“a=3*5”是一個(gè)賦值表達(dá)式”,“a*4”是另一個(gè)表達(dá)式,二者用逗號相連,構(gòu)成一個(gè)逗號表達(dá)式。

這兩者哪一個(gè)對呢?賦值運(yùn)算符的優(yōu)先級別高于逗號運(yùn)算符,因此應(yīng)先求解a=3*5(也就是把“a=3*5”作為一個(gè)表達(dá)式)。經(jīng)計(jì)算和賦值后得到a的值為15,然后求解a*4,得60。整個(gè)逗號表達(dá)式的值為60。

一個(gè)逗號表達(dá)式又可以與另一個(gè)表達(dá)式組成一個(gè)新的逗號表達(dá)式,如(a=3*5,a*4),a+5 先計(jì)算出a的值等于15,再進(jìn)行a*4的運(yùn)算得60(但a值未變,仍為15),再進(jìn)行a+5得20,即整個(gè)表達(dá)式的值為20。

逗號表達(dá)式的一般形式可以擴(kuò)展為

    表達(dá)式1,表達(dá)式2,表達(dá)式3……表達(dá)式n

它的值為表達(dá)式n的值。

  逗號運(yùn)算符是所有運(yùn)算符中級別最低的。因此,下面兩個(gè)表達(dá)式的作用是不同的:

 ?、?x=(a=3,6*3)

 ?、?x=a=3,6*a

  第①個(gè)是一個(gè)賦值表達(dá)式,將一個(gè)逗號表達(dá)式的值賦給x,x的值等于18。第②個(gè)是逗號表達(dá)式,它包括一個(gè)賦值表達(dá)式和一個(gè)算術(shù)表達(dá)式,x的值為3。

  其實(shí),逗號表達(dá)式無非是把若干個(gè)表達(dá)式“串聯(lián)”起來。在許多情況下,使用逗號表達(dá)式的目的只是想分別得到各個(gè)表達(dá)式的值,而并非一定需要得到和使用整個(gè)逗號表達(dá)式的值,逗號表達(dá)式最常用于循環(huán)語句(for語句)中.

  請注意并不是任何地方出現(xiàn)的逗號都是作為逗號運(yùn)算符。例如函數(shù)參數(shù)也是用逗號來間隔的。如

  printf("%d,%d,%d",a,b,c);

  上一行中的“a,b,c”并不是一個(gè)逗號表達(dá)式,它是printf函數(shù)的3個(gè)參數(shù),參數(shù)間用逗號間隔。

如果改寫為

  printf("%d,%d,%d",(a,b,c),b,c);

則“(a,b,c)”是一個(gè)逗號表達(dá)式,它的值等于c的值。括弧內(nèi)的逗號不是參數(shù)間的分隔符而是逗號運(yùn)算符。括弧中的內(nèi)容是一個(gè)整體,作為printf函數(shù)的一個(gè)參數(shù)。

C語言表達(dá)能力強(qiáng),其中一個(gè)重要方面就在于它的表達(dá)式類型豐富,運(yùn)算符功能強(qiáng),因而c使用靈活,適應(yīng)性強(qiáng)。

學(xué)習(xí)C/C++編程知識,提升C/C++編程能力,歡迎關(guān)注UP一起來成長!

另外UP上傳了一些學(xué)習(xí)C/C++編程知識的學(xué)習(xí)視頻,有興趣或者正在學(xué)習(xí)編程的小伙伴可以看一下,希望對大家有幫助~

C/C++編程筆記:C語言中逗號運(yùn)算符和逗號表達(dá)式,帶你仔細(xì)區(qū)分!的評論 (共 條)

分享到微博請遵守國家法律
辛集市| 三穗县| 北票市| 西畴县| 潞西市| 桂林市| 宣恩县| 岳西县| 临漳县| 旬邑县| 祁阳县| 饶河县| 哈密市| 韶关市| 五寨县| 三台县| 淮安市| 和硕县| 淮阳县| 高阳县| 惠东县| 望都县| 天门市| 新竹市| 石台县| 临沧市| 公主岭市| 白玉县| 临西县| 诸城市| 封丘县| 丰原市| 巴彦县| 洛阳市| 曲水县| 三河市| 高淳县| 宁远县| 会昌县| 双峰县| 涪陵区|