C語(yǔ)言中的逗號(hào)運(yùn)算符詳解
C語(yǔ)言中的逗號(hào)運(yùn)算符
在C語(yǔ)言中逗號(hào)“,”也是一種運(yùn)算符,稱為逗號(hào)運(yùn)算符。 其功能是把兩個(gè)表達(dá)式連接起來(lái)組成一個(gè)表達(dá)式, 稱為逗號(hào)表達(dá)式。其一般形式為:
表達(dá)式1, 表達(dá)式2
其求值過(guò)程是分別求兩個(gè)表達(dá)式的值,并以表達(dá)式2(即最右邊的一個(gè)表達(dá)式)的值作為整個(gè)逗號(hào)表達(dá)式的值。
#include<stdio.h>
int main()
{?? ?
?? ?int i ,a;
?? ?i =(a=2*3, a*5), a+6;?
?? ?printf("%d", i);
?? ?return 0;?? ?
?}輸出結(jié)果:30.
原因分析:
優(yōu)先級(jí)排列中,括號(hào)>加減乘除>賦值>逗號(hào)。
所以當(dāng)前這個(gè)等式的運(yùn)算應(yīng)該是:
step1:a = 2*3; //結(jié)果a=6
step2:計(jì)算a*5; //結(jié)果是30【注意:此時(shí)a的值是不變的,仍舊是6?。?!】
step3:i = (a=2*3, a*5); //得到i值:30.【不去執(zhí)行a+6的原因在于:因?yàn)橘x值符號(hào) = 的優(yōu)先級(jí)比逗號(hào)的高,所以直接把30賦值給了 i。 】
如果該等式變成了 i=(a=2*3,a*5,a+6);
則輸出結(jié)果為12.
step1:a = 2*3; //結(jié)果a=6
step2:計(jì)算a*5; //結(jié)果是30
step3:計(jì)算a+6;//結(jié)果是12
step4:將最右邊的一個(gè)等式a+6的值賦給i
到此這篇關(guān)于C語(yǔ)言中的逗號(hào)運(yùn)算符的文章就介紹到這了,更多相關(guān)C語(yǔ)言逗號(hào)運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C到C++的升級(jí)關(guān)系及區(qū)別實(shí)例探究
這篇文章主要為大家介紹了C到C++的升級(jí)關(guān)系及區(qū)別實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
海量數(shù)據(jù)處理系列之:用C++實(shí)現(xiàn)Bitmap算法
本篇文章是對(duì)用C++實(shí)現(xiàn)Bitmap算法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
關(guān)于C++中菱形繼承和虛繼承的問(wèn)題總結(jié)
C++的三大特性為:封裝,繼承,多態(tài)。但是在繼承中,存在一些使用方面的問(wèn)題需要注意,下面這篇文章主要給大家總結(jié)介紹了關(guān)于C++中菱形繼承和虛繼承的問(wèn)題,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的井字棋游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的井字棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
MATLAB全網(wǎng)最全的colormap的使用教程詳解
眾所周知,MATLAB中的colormap只有少得可憐的幾種,有很多應(yīng)用在很特殊的圖形中的colormap幾乎都沒(méi)有,而每次寫代碼都要去找顏色的圖屬實(shí)太麻煩。所以本文將包全部集成了進(jìn)來(lái),終于有了這套包含200個(gè)colormap的工具函數(shù),希望對(duì)大家有所幫助2023-02-02
C語(yǔ)言用數(shù)組實(shí)現(xiàn)反彈球消磚塊
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言用數(shù)組實(shí)現(xiàn)反彈球消磚塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
c語(yǔ)言中用位運(yùn)算實(shí)現(xiàn)加法技巧介紹
用位運(yùn)算實(shí)現(xiàn)加法也就是計(jì)算機(jī)用二進(jìn)制進(jìn)行運(yùn)算,32位的CPU只能表示32位內(nèi)的數(shù),這里先用1位數(shù)的加法來(lái)進(jìn)行,需要的朋友可以參考下2012-11-11

