C语言中逗号表达式存在的意义
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/05 17:41:36
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值.假设b=2,c=7,d=5,a1=(++b,c--,d+3);a2=++b,c--,d+
逗号运算符,算完取右边的值k=2*3=66+4=1010+2=12好吧,错了.下面才是对的太阴了
我运行了,给你截张图其实按你的理解应该是(a=3,b=6,(++a)+(b++)),这个时候才考虑先加后加的问题,这个时候才是10,但题干先++a,b++,然后再a+b,这是有区别的,要多领会.逗号它
这个表达式的值应该是20,逗号表达式的值应该是逗号右边的值,对于a=3*5,a*4左边a被赋值15,所以右边a*4=60是这个表达式的值,但并没有给a赋值,所以a的值仍然是15;对于整个表达式而言,其
逗号运算符(表达式1,表达式2,.表达式n)上面的逗号运算符的值为:表达式n的值那么开始i=1i++,i++先计算左边i++这时i=2,再计算i++=2但是i=3表达式的值为2再答:设计出来总有他的用
如果是((x=a+b),(b+c))实际上可以看成(6,10)整个逗号表达式的值应该是10但这是错的,这儿还有赋值运算符.赋值运算符的优先级是14,而逗号表达式的优先级是15,也就是说上面的表达式中y
逗号表达式结果为最后一个表达式的值即x-1因为x=3*y=>x=15然后x-1值为14所以y=x-1=14x=15
逗号表达式的出现,是出于一种“粘合”的用意.在C语言中,表达式的地位是非同寻常的,而有时我们的某些表达式在用意上需要成为一个整体时,逗号表达式就站出来了.同时,C语言的某些规定使得某些地方只能用一个表
因为b++是先返回b的值,然后b再加1而++b是先执行b加1运算,再返回b的值
原表达式等价于:b=2*6,b*3,b+7由于=的优先级高于逗号,所以进一步等价于:(b=2*6),b*3,b+7这个逗号表达式的第一部分将b的值改为12,并且逗号表达式返回最右边的一个表达式的值,所
逗号表达式,按顺序一个一个执行,然后把最后一个语句,当做整个逗号表达式的最后结果,先执行a=4*5=20,然后执行a*20=40当做整个表达式的结果,但这个结果并不赋给a,因为没有赋值给a,所以a还是
C语言中的逗号有2种意思:1.表示"分隔号"的意思,就和语文中的逗号一个意思;2.表示"逗号运算符"的意思,用它将2个表达式连接起来.例如:3+5,6+8就称为逗号表达式,又称为"顺序求值运算符".逗
a=(表达式1,表达式2.)
不能那样理解.逗号表达式是已经声明过的变量合法组成的多个有效运算表达式用逗号隔开,而inta=1,b=2;只能有一种解释,那就是声明和初始化变量时可以把多个相同类型的变量用逗号隔开写在同一个类型符后面
逗号是依次向后运算y=4,5;//把4赋值给y,逗号依次运算,到了5,但没有等号进行赋值,所以y=4;y=(4,5);//括号内的都是赋值给y的值,先把4赋值给y,然后逗号依次运算,把5赋值给y,所以
20,逗号表达式从左到右执行,结果取最右
x==0
与优先级没有冲突的可以不带,但为了防止出错(优先级记错)和容易看懂一般会带上括号,在一篇文章上这样说,除非你对优先级理解并记得非常透彻,否则不要吝啬括号