c語(yǔ)言逗號(hào)運(yùn)算符舉例 一個(gè)C語(yǔ)句中至少應(yīng)包含一個(gè)A. 逗號(hào)B. 冒號(hào)C. 分號(hào)D. 函數(shù)?
一個(gè)C語(yǔ)句中至少應(yīng)包含一個(gè)A. 逗號(hào)B. 冒號(hào)C. 分號(hào)D. 函數(shù)?C語(yǔ)言程序中的for循環(huán)語(yǔ)句有時(shí)要用逗號(hào)表達(dá)式,這里的逗號(hào)表達(dá)式具體有什么作用啊?逗號(hào)運(yùn)算符在C中的優(yōu)先級(jí)最低,用它分隔的表達(dá)式將從
一個(gè)C語(yǔ)句中至少應(yīng)包含一個(gè)A. 逗號(hào)B. 冒號(hào)C. 分號(hào)D. 函數(shù)?
C語(yǔ)言程序中的for循環(huán)語(yǔ)句有時(shí)要用逗號(hào)表達(dá)式,這里的逗號(hào)表達(dá)式具體有什么作用???
逗號(hào)運(yùn)算符在C中的優(yōu)先級(jí)最低,用它分隔的表達(dá)式將從左到右求值。
例如,
For(I=0,j=strlen(s)-1,I
…]}]這里不能使用分號(hào),否則會(huì)與For中用于分隔循環(huán)控制的三條語(yǔ)句的分號(hào)混淆。
逗號(hào)運(yùn)算符也適用于其他密切相關(guān)的結(jié)構(gòu),例如交換兩個(gè)變量的值。它可以寫(xiě)成
TMP=a,a=B,B=TMP
但使用時(shí)要小心。分號(hào)也不錯(cuò)。
在C語(yǔ)言賦值語(yǔ)句中,給多個(gè)變量賦值,用逗號(hào)隔開(kāi),豈不是相當(dāng)于一個(gè)逗號(hào)表達(dá)式?
我不明白。逗號(hào)表達(dá)式是聲明變量的合法組合。多個(gè)有效的運(yùn)算表達(dá)式用逗號(hào)分隔,而int a=1,B=2只能有一種解釋?zhuān)丛诼暶骱统跏蓟兞繒r(shí),同一類(lèi)型的多個(gè)變量可以用逗號(hào)分隔,寫(xiě)在同一類(lèi)型字符之后,最后用分號(hào)結(jié)束。對(duì)于上面的聲明,如果聲明一個(gè)int c,那么c=(a=1,B=2)在運(yùn)算之后,c=2,因?yàn)椋╝=1,B=2)在最右邊的逗號(hào)之后取表達(dá)式的運(yùn)算結(jié)果。所以,我認(rèn)為C=(a=1,B=2)中的(a=1,B=2)是逗號(hào)表達(dá)式,int a=1,B=2不是逗號(hào)表達(dá)式!事實(shí)上,所謂計(jì)算機(jī)語(yǔ)言的“語(yǔ)法”只是一些書(shū)寫(xiě)規(guī)則。還有許多甚至是不靈活的,比如char*P和*Q。語(yǔ)法上說(shuō),*屬于char,但不屬于下面的變量。但是如果它被寫(xiě)成char*P和Q,那么Q就不被認(rèn)為是指針。我們?cè)趺茨芾斫饽兀糠駝t,像char*P,W,x這樣的語(yǔ)句將被寫(xiě)成兩行:char*PChar,W,x