C语言中的逗号操作符
2011-06-26 12:36
441 查看
在C语言中,“,”的用法有两种:一种是做分隔符,另一种是作运算符。在变量声明语句、函数调用中,逗号是做分隔符用的,例如:
int a,b,c;
scanf("%f%f%f",&f1,&f2,&f3);
C语言还允许用逗号连接表达式。例如:x=5.6,y=2.1,10+x,x+y,这里用3个逗号运算符将4个表达式连接成一个逗号表达式。
逗号表达式的一般格式如下:
表达式1,表达式2,表达式3,......,表达式n
例如,下面就是一个逗号表达式:
a=2*6,a-4,a+15
当逗号作为运算符使用时时一个双目运算符,其运算优先级是所有运算符中最低的。逗号运算符的运算顺序是自左向右,上式a的值最终为12,因为后面两个表达式的值仅进行了运算,并没有赋值给a。又如:
int j=5;
a=(a=j+1,a+2,a+3);
上述赋值语句的执行顺序为先对a变量赋值6,再计算a+2得8,再计算a+3得9,最后将9作为逗号表达式的值赋给变量a.如果将括号去掉,则a为6
如下例:
结果为
13,16
int a,b,c;
scanf("%f%f%f",&f1,&f2,&f3);
C语言还允许用逗号连接表达式。例如:x=5.6,y=2.1,10+x,x+y,这里用3个逗号运算符将4个表达式连接成一个逗号表达式。
逗号表达式的一般格式如下:
表达式1,表达式2,表达式3,......,表达式n
例如,下面就是一个逗号表达式:
a=2*6,a-4,a+15
当逗号作为运算符使用时时一个双目运算符,其运算优先级是所有运算符中最低的。逗号运算符的运算顺序是自左向右,上式a的值最终为12,因为后面两个表达式的值仅进行了运算,并没有赋值给a。又如:
int j=5;
a=(a=j+1,a+2,a+3);
上述赋值语句的执行顺序为先对a变量赋值6,再计算a+2得8,再计算a+3得9,最后将9作为逗号表达式的值赋给变量a.如果将括号去掉,则a为6
如下例:
#include <stdio.h> void main() { int a=5,b=8,c=8,x,y; x=a+b,b+c; y=(a+b,b+c); printf("%d,%d",x,y); }
结果为
13,16
相关文章推荐
- C语言中的逗号操作符
- C语言中的逗号操作符
- C++ Primer 学习笔记9 表达式 (求余、自增和自减操作符、箭头操作符、条件表达式、sizeof操作符、逗号操作符)
- C语言之操作符简介
- C语言面试题---操作符的优先级
- c++字符串反转逗号操作符使用
- C语言 操作符知识点整理
- c语言中自增操作符与自减操作符
- C语言操作符优先级(转)
- 【C语言复习(五)】由++,--操作符的使用简单认识C编译器的“贪心法”编译机制
- C语言左值和右值,以及操作符属性总结
- C语言操作符 小结
- C语言操作符使用总结
- C语言之sizeof操作符
- C语言操作符优先级
- C语言---逗号表达式二
- 7_21|C语言|操作符注意事项|sizeof使用讲解|结构体简单介绍
- C语言的操作符优先级
- c语言^异或操作符进行加密解密
- C语言中移位操作符那点事