首页 > 代码库 > 逗号表达式的使用
逗号表达式的使用
逗号操作符,是优先级最低的一个。
eg1:
#include<stdio.h> int main() { int a,b; a=b=1; b=a++,b++,++a; printf("b=%d\n",b); return(0); }
eg2:
#include<stdio.h> int main() { int a=8; printf("%d",(a=3*5,a*4)); return(0); }
c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60。
表达式说明
表达式1,表达式2,表达式3,...... ,表达式n
逗号表达式的要领:
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。
这样eg2输出60就没有疑问了,那么eg1呢?
eg1中,先执行 b=a++ ,此时 b 为 1 。 然后 b++ ,所以 b 的值 最终为 2。
逗号操作符,让运算顺序有了先后,故看到a++和++a在同一表达式中时不要以为是UB。
逗号表达式的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。