日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

C語言中的逗號運算符詳解_C 語言

作者:wennyLee ? 更新時間: 2022-12-24 編程語言

C語言中的逗號運算符

在C語言中逗號“,”也是一種運算符,稱為逗號運算符。 其功能是把兩個表達式連接起來組成一個表達式, 稱為逗號表達式。其一般形式為:
表達式1, 表達式2
其求值過程是分別求兩個表達式的值,并以表達式2(即最右邊的一個表達式)的值作為整個逗號表達式的值。

#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)前這個等式的運算應(yīng)該是:

step1:a = 2*3; ?//結(jié)果a=6

step2:計算a*5; //結(jié)果是30【注意:此時a的值是不變的,仍舊是6!!!】

step3:i = (a=2*3, a*5); ?//得到i值:30.【不去執(zhí)行a+6的原因在于:因為賦值符號 = 的優(yōu)先級比逗號的高,所以直接把30賦值給了 i。 】

如果該等式變成了 ? i=(a=2*3,a*5,a+6); ?

則輸出結(jié)果為12.

step1:a = 2*3; ?//結(jié)果a=6

step2:計算a*5; //結(jié)果是30

step3:計算a+6;//結(jié)果是12

step4:將最右邊的一個等式a+6的值賦給i

原文鏈接:https://blog.csdn.net/wennyLee/article/details/110754468

欄目分類
最近更新