哆啦的时光机
C语言中,逗号既可作 分隔符 ,又可作 运算符。(1)逗号作为分隔符使用时,用于间隔说明语句中的变量或函数中的参数;例如楼上的朋友所举的例子:int a, b, c, d; 用于 间隔说明语句中的变量,printf ("%d %d",x,y);用于间隔函数中的参数;(2)作为 运算符 使用时,将若干个独立的表达式连接在一起,组成一个逗号表达式。其形式为:表达式1,表达式2,表达式3,……,表达式n运算过程:从左向右执行, 先计算 表达1 的值,再计算 表达式2 的值,依次往后计算,直到计算出表达式n 的值 作为 1到n 整个表达式的 值, 其 值 的类型和 表达式n 的类型相同 。在使用过程中注意一点: 逗号作运算符使用时,它的 优秀级 是所有运算符中最低的,即 最先执行 逗号运算。例如:int x=14,y=5;y=((x=3*y,x+6),x-1);printf ("x=%d,y=%d",x ,y);这个程序的执行结果: x=15,y=14执行语句 y=((x=3*y,x+6),x-1);时,最外层的括号里面是一条 逗号 语句,把这个逗号语句的值 赋给 y,由于是按从左向右的顺序执行,即先执行 里面一层的 括号,而里面这层 依然是一个 逗号表达式,在这里层 中 依然按从左向右的顺序执行,先执行x=3*y , 执行后 x的值为15,然后执行 x+6, 其值为21 , 里层括号执行完毕 ,得到 里层括号的值为 21,最后执行x-1,为14,将 14 这个值作为最终结果 赋给 y ; 得到程序最终结果,x值为15,y值为14。