C語言中的逗號運(yùn)算符詳解
C語言中的逗號運(yùn)算符
在C語言中逗號“,”也是一種運(yùn)算符,稱為逗號運(yùn)算符。 其功能是把兩個(gè)表達(dá)式連接起來組成一個(gè)表達(dá)式, 稱為逗號表達(dá)式。其一般形式為:
表達(dá)式1, 表達(dá)式2
其求值過程是分別求兩個(gè)表達(dá)式的值,并以表達(dá)式2(即最右邊的一個(gè)表達(dá)式)的值作為整個(gè)逗號表達(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)先級排列中,括號>加減乘除>賦值>逗號。
所以當(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值符號 = 的優(yōu)先級比逗號的高,所以直接把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ùn)算符的文章就介紹到這了,更多相關(guān)C語言逗號運(yùn)算符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vscode+platformIO開發(fā)stm32f4的實(shí)現(xiàn)
這篇文章主要介紹了vscode+platformIO開發(fā)stm32f4的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
詳解C語言如何實(shí)現(xiàn)雙向帶頭循環(huán)鏈表
雙向帶頭循環(huán)鏈表應(yīng)該是鏈表中非常方便的一種,可以很容易的在任意位置上進(jìn)行插入和刪除,可以很容易的對鏈表進(jìn)行管理。本文將利用C語言實(shí)現(xiàn)雙向帶頭循環(huán)鏈表,需要的可以參考一下2022-08-08
C語言中操作進(jìn)程信號的相關(guān)函數(shù)使用詳解
這篇文章主要介紹了C語言中操作進(jìn)程信號的相關(guān)函數(shù)使用詳解,分別是signal()函數(shù)和kill()函數(shù)的用法,需要的朋友可以參考下2015-09-09
C語言編程時(shí)常犯十八個(gè)錯(cuò)誤小結(jié)
C語言的最大特點(diǎn)是:功能強(qiáng)、使用方便靈活。C編譯的程序?qū)φZ法檢查并不象其它高級語言那么嚴(yán)格,這就給編程人員留下“靈活的余地”,但還是由于這個(gè)靈活給程序的調(diào)試帶來了許多不便,尤其對初學(xué)C語言的人來說,經(jīng)常會出一些連自己都不知道錯(cuò)在哪里的錯(cuò)誤2013-07-07

