逗号运算符

逗号运算符

逗号运算符保证被它分开的表达式按照从左到右的次序进行计算,换句话说,逗号是个顺序点,逗号左边产生的所有副作用都在程序运行到逗号右边之前生效。

这一点在逗号右边的表达式用到逗号左边变量的时候尤其重要:

ounces++, cost = ounces * FIRST_OZ

这将递增ounces,并在第二个子表达式中实用ounces的新值。

houseprice = 239,500;并没有语法错误,C把它理解为一个逗号表达式,houseprice=239使左子表达式,而500使右子表达式

对于逗号表达式而言,整个表达式的值使右边表达式的值

例:

运行结果为

这个例子说明了上述结论,整个逗号表达式的值是右边表达式的值。

时间: 2025-01-18 03:54:28

逗号运算符的相关文章

C语言:逗号运算符

逗号运算符主要是用于连接表达式 例如:a=1+2,b=3*4 用逗号运算符连接起来的表达式称为逗号表达式 它的一般形式为:表达式1,表达式2,… …,表达式n逗号表达式的运算过程是:先算表达式1,再算表达式2,依次算到表达式n 整个逗号表达式的值是最后一个表达式的值

JavaScript中逗号运算符和this

遇到一道题目,写出下面的输出: 结果如下: 第一个是child's name没有问题,第二个指定的也是child,依然是child's name,第三个和第二个实际上是一样的,(parentObj.child=parentObj.child)相当于(parentObj.child),都是函数名,第四个又是什么鬼呢. 逗号运算符是很少见的,查了资料才知道,使用逗号运算符时,先计算左操作数的值,再计算右操作数的值,最后返回右操作数的值.因此,(parentObj.child,parentObj.ch

C语言学习篇:逗号运算符的应用

今天来说说我最近碰到的一道C语言题!虽然说这个知识点应该有大神说过了,但是为了确保我确实掌握啦,还是决定将这个写出来! 先看看该题目的要求:对于一个数n,如果是偶数,就把n砍掉一半:如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止.请计算需要经过几步才能将n变到1,并且测试案例需要多组输入!(就直接说了吧,这个是九度oj里面的编号为1031的题目要求,大家有兴趣或者想刷题,感觉这是一个不错的选择) 首先看看我写的c语言代码(采用DEVc++编辑): 1 #include <std

编程题:逗号运算符的运用

#include<stdio.h> void main() {int a=3,b=4,c=1,max,t; if(a>b,a>c) max=a; else max=0; t=(a+3,b+1,++c); printf("max=%d,t=%d\n",max,t); } 运行结果: 编程题:逗号运算符的运用,布布扣,bubuko.com

逗号运算符、do while循环、嵌套循环、数组简介

1.逗号运算符扩展了for循环的灵活性,因为它可以使您在一个循环中使用多个初始化或更新表达式. 实例程序: #include<stdio.h> int main() { const int A=37; const int B=23; int c,d; printf("   c     d\n"); for(c=1,d=A;c<=16;c++,d+=B) printf("%5d  $%4.2f\n",c,d/100.0); return 0; } 运

【学习笔记】【C语言】逗号运算符

逗号运算符主要用于连接表达式,例如: int a = 9; int b = 10; a = a+1 , b = 3*4; * 用逗号运算符连接起来的表达式称为逗号表达式,它的一般形式为: 表达式1, 表达式2, - -, 表达式n 逗号表达式的运算过程是:从左到右的顺序,先计算表达式1,接着计算表达式2,...,最后计算表达式n * 逗号运算符也是一种运算符,因此它也有运算结果.整个逗号表达式的值是最后一个表达式的值 int a = 2; int b = 0; int c; c = (++a,

8.Java三目运算符和逗号运算符

一.三目运算符 三元运算符一般用的很少,因为它在程序段中的可读性很差,所以笔者建议不要经常使用三元运算符,但很少使用并不代表不使用,所以还是要掌握好它的用法,三元运算符的表达形式如下:     布尔表达式?值 0 :值 1 它的运算过程是:如果布尔表达式的结果是 true,就返回值 0,如果布尔表达式的结果是 false,就返回值 1,例如下面的程序段. public class data21{     public static void main(String[] args){      

C语言逗号运算符

C语言提供一种特殊的运算符--逗号运算符.用它将两个表达式连接起来.如: 3+5,6+8称为逗号表达式,又称为"顺序求值运算符".逗号表达式的一般形式为 表达式1,表达式2逗号表达式的求解过程是:先求解表达式1,再求解表达式2.整个逗号表达式的值是表达式2的值.例如,上面的逗号表达式"3+5,6+8"的值为14.又如,逗号表达式 a=3*5,a*4对此表达式的求解,读者可能会有两种不同的理解:一种认为"3*5,a*4" 是一个逗号表达式,先求出此

javascript学习笔记---ECMAScript运算符(乘性,加性,关系,等性,关系,赋值,逗号运算符)

乘性:乘法,除法,取模,(特殊数字[Infinity,-Infinity,NaN,0]需要注意) 加性:加减法(同样特殊数字注意) 关系运算符执行的是比较运算.每个关系运算符都返回一个布尔值. 常规比较:数字与数字,字符串与字符串(按字符代码数值比较) 数字和字符串比较:先将字符串转为数字再比较 ECMAScript 提供了两套等性运算符:等号和非等号用于处理原始值,全等号和非全等号用于处理对象. 等号和非等号 在 ECMAScript 中,等号由双等号(==)表示,当且仅当两个运算数相等时,它

c语言中逗号运算符和逗号表达式

原文:c语言中逗号运算符和逗号表达式 C语言提供一种特殊的运算符——逗号运算符.用它将两个表达式连接起来.如: 3+5,6+8 称为逗号表达式,又称为“顺序求值运算符”.逗号表达式的一般形式为 表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2.整个逗号表达式的值是表达式2的值.例如,上面的逗号表达式“3+5,6+8”的值为14.又如,逗号表达式 a=3*5,a*4对此表达式的求解,读者可能会有两种不同的理解:一种认为“3*5,a*4” 是一个逗号表达式,先求出此逗号表达