c语言中逗号表达式(a=3*5,a*4),a 15是多少
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 22:52:50
逗号运算符,算完取右边的值k=2*3=66+4=1010+2=12好吧,错了.下面才是对的太阴了
x应该是10才对.第一个式子把5赋值给x第二个式子3+x=8,当x本身值不变第三个式子x自身乘2,故此时x=2*5=10
不合法>操作符的级别比=要高所以上边的表达式就相当于a=(3>b)=5=操作符是从右到左结合的,所以先执行的是(3>b)=5;3>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++,先把a的值赋给x后a+1,所以x=1,a=2,然后x=a--,也就是把a赋给x,所以x=2,a再自减a=1逗号表达式的值是最右边的表达式的值,所以逗号表达式的值是x=2(没有a=1)再问:
如果是((x=a+b),(b+c))实际上可以看成(6,10)整个逗号表达式的值应该是10但这是错的,这儿还有赋值运算符.赋值运算符的优先级是14,而逗号表达式的优先级是15,也就是说上面的表达式中y
因为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还是
关于逗号表达式,表达式的指是最后一个的值,所以你的(x=4*5,x*5)是为100,不过x是为20的,所以x+25是为45
a=(表达式1,表达式2.)
答案是20,因为A*4与A+5的结果并没有给A,所以A是3*5的值(a=3*5,a=a*4,a=a+5)这个=65
假如a=2m=3那么a*=m--就等价于a=2*3最后a=6,m=2你可以写个小程序测试一下是不是这样的主要是m--表示,m先使用再自减
我认为是17,因为这是一个逗号表达式,里面有2个逗号,3个式子!逗号表达式的值,以最后一个式子的值为值,也就是a+5.但是他是从前往后依次做算的,运算第一个式子后,a是12,运算第二个,a不变还是12
20,逗号表达式从左到右执行,结果取最右
前两个表达式只是赋值,从第三个开始计算,b+=a,即b=b+a,即b=5+3,b=8,求最后一个表达式,c=b*5,c=8*5,c=40.因为逗号表达式的值是最后一个表达式的值,所以些表达式的值为40
的优先级大于!=,所以他们的计算过程为:(a>b)然后!=c,a>b结果一般为BOOL值,为0或1,之后你就明白了吧.