C語言逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式的使用小結(jié)
在C語言中逗號(hào)“,”也是一種運(yùn)算符,稱為逗號(hào)運(yùn)算符。 其功能是把兩個(gè)表達(dá)式連接
其一般形式為:
表達(dá)式 1,表達(dá)式 2
1+1,2+2
其求值過程是分別求兩個(gè)表達(dá)式的值,并以表達(dá)式 2 的值作為整個(gè)逗號(hào)表達(dá)式的值。
main(){
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
}
本例中,y 等于整個(gè)逗號(hào)表達(dá)式的值,也就是表達(dá)式 2 的值,x 是第一個(gè)表達(dá)式的值。對(duì)于逗號(hào)表達(dá)式還要說明兩點(diǎn):
- 逗號(hào)表達(dá)式一般形式中的表達(dá)式 1 和表達(dá)式 2 也可以又是逗號(hào)表達(dá)式。
例如:
表達(dá)式 1,(表達(dá)式 2,表達(dá)式 3)
形成了嵌套情形。因此可以把逗號(hào)表達(dá)式擴(kuò)展為以下形式:
表達(dá)式 1,表達(dá)式 2,…表達(dá)式 n
整個(gè)逗號(hào)表達(dá)式的值等于表達(dá)式 n 的值。
- 程序中使用逗號(hào)表達(dá)式,通常是要分別求逗號(hào)表達(dá)式內(nèi)各表達(dá)式的值,并不一定要求整個(gè)逗號(hào)表達(dá)式的值。
并不是在所有出現(xiàn)逗號(hào)的地方都組成逗號(hào)表達(dá)式,如在變量說明中,函數(shù)參數(shù)表中逗號(hào)只是用作各變量之間的間隔符.
y = (x = a + b), (b + c)結(jié)果奇怪
逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的。因此,下面兩個(gè)表達(dá)式的作用是不同的:
int a=2,b=4,c=6,x,y; y=(x=a+b),(b+c); x=6 ;y=6 y=((x=a+b),(b+c); x=6 y=10
- 逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低
所以
y=(x=a+b),c+d;
先執(zhí)行x=a+b
然后執(zhí)行y=x
c+d沒意義 最終y=6 - 如果為y=((x=a+b),(b+c)
那么意思就是全算完在賦值
即y=c+d了
到此這篇關(guān)于C語言逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式的使用小結(jié)的文章就介紹到這了,更多相關(guān)C語言逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言字符串函數(shù)介紹與模擬實(shí)現(xiàn)詳解
這篇文章主要介紹了C語言實(shí)現(xiàn)字符串操作函數(shù)的實(shí)例的相關(guān)資料,開發(fā)程序的時(shí)候經(jīng)常使用到一些字符串函數(shù),例如求字符串長度,拷貝字符串……,需要的朋友可以參考下2021-09-09
MFC實(shí)現(xiàn)對(duì)話框編輯控件上拖拽文件
這篇文章主要為大家詳細(xì)介紹了MFC實(shí)現(xiàn)對(duì)話框編輯控件上拖拽文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
C++標(biāo)準(zhǔn)庫中sstream與strstream的區(qū)別詳細(xì)解析
以下是對(duì)C++標(biāo)準(zhǔn)庫中sstream與strstream的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-09-09

