C语言逗号运算符和逗号表达式
生活随笔
收集整理的這篇文章主要介紹了
C语言逗号运算符和逗号表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在C語言中逗號“,”也是一種運算符,稱為逗號運算符。 其功能是把兩個表達式連接起來組成一個表達式, 稱為逗號表達式。其一般形式為:表達式1,表達式2
其求值過程是分別求兩個表達式的值,并以表達式2的值作為整個逗號表達式的值。
本例中,y等于整個逗號表達式的值,也就是表達式2的值,x是第一個表達式的值。對于逗號表達式還要說明兩點:
逗號表達式一般形式中的表達式1和表達式2 也可以又是逗號表達式。 例如:
表達式1,(表達式2,表達式3)
形成了嵌套情形。因此可以把逗號表達式擴展為以下形式:
表達式1,表達式2,…表達式n
整個逗號表達式的值等于表達式n的值。
程序中使用逗號表達式,通常是要分別求逗號表達式內各表達式的值,并不一定要求整個逗號表達式的值。
其求值過程是分別求兩個表達式的值,并以表達式2的值作為整個逗號表達式的值。
【例】
main() {int a=2,b=4,c=6,x,y;y=(x=a+b),(b+c);printf("y=%d,x=%d",y,x); }
本例中,y等于整個逗號表達式的值,也就是表達式2的值,x是第一個表達式的值。對于逗號表達式還要說明兩點:
表達式1,(表達式2,表達式3)
形成了嵌套情形。因此可以把逗號表達式擴展為以下形式:
表達式1,表達式2,…表達式n
整個逗號表達式的值等于表達式n的值。
并不是在所有出現逗號的地方都組成逗號表達式,如在變量說明中,函數參數表中逗號只是用作各變量之間的間隔符。
在MISRA C-2004中要求不要使用逗號表達式,摘錄如下,
規則12.10(強制): ?不要使用逗號運算符。?
使用逗號運算符通常不利于代碼的可讀性,可以使用其他方法達到相同的效果。?
轉載于:https://www.cnblogs.com/java20130726/p/3218643.html
總結
以上是生活随笔為你收集整理的C语言逗号运算符和逗号表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对CSS了解-overflow:hidd
- 下一篇: 2013年7月04日_回顾总结