c语言中y=(x=a+b,b+c)代表什么意思

#include <stdio.h>
main()
{int a=2,b=4,c=6,x,y;<br> y=(x=a+b,b+c);<br>printf ("%d,%d\n",x,y);}这个c语言程序中y=(x=a+b,b+c)代表什么意思

x=a+b表达式使得x=6,其返回值为X(x,b+c)是逗号表达式,逗号表达式的值为最后一个子表达式的值所以 y=b+c y=10
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-28
就是 x = a + b; y = b + c;

c语言中y=(x=a+b,b+c)代表什么意思
x=a+b表达式使得x=6,其返回值为X(x,b+c)是逗号表达式,逗号表达式的值为最后一个子表达式的值所以 y=b+c y=10

C语言逗号表达式的问题?
如果是((x=a+b),(b+c))实际上可以看成(6,10)整个逗号表达式的值应该是10 但这是错的,这儿还有赋值运算符。赋值运算符的优先级是14,而逗号表达式的优先级是15,也就是说上面的表达式中 y=(x=a+b),(b+c);应该等价于这样的结合:y=x,10;如果这样写的话,则答案很清晰,为:6 提示...

c语言max(a+b,b+c)怎么运算
所以在表达式((x=a+b),b+c)中x的值为a+b也就是6 而y的值是逗号之后b+c的值也就是10

C语言题目运算,a=2,b=4,c=6; y=(x=a+b),(b+c);改为y=((x=a+b)
我刚刚编译了一下,打印出来结果是10,因为赋值语句是从右往左,用括号扩起来之后,y=b+c的值,同样,如果把括号里x=a+b和b+c换一下位置,打印出来的值就是x=a+b的值

#include <stdio.h> void main()
C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式。其一般形式为: 表达式1,表达式2 其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。void main(){ int a=2,b=4,c=6,x,y;y=(x=a+b),(b+c)...

C语言基础知识
在c语言中,逗号除了作为分隔符,还可以用作一种运算符---逗号运算符,用逗号运算符将几个表达式连接起来,例如a=b+c,a=b*c等称为逗号表达式。 一般形式为: 表达式1 ,表达式2 ,表达式3 ,…,表达式n 例:x=2,y=3,z=4 逗号表达式具有从左至右的结合性,即先求解表达式1,然后依次求解表达式2,直到表达式n的...

C语言逗号表达式
c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14;a=(a=3*5,...

在c语言中a?a+b:a+c是什么意思
如果a是非0,那么这个表达式的值就是a+b,如果a是0,那么这个表达式的值就是a+c

C语言中c=(a+b,a++,b+1);什么意思
首先因为“==”号比“=”的优先级高,所以先执行b==c,明显b等2,c等3两者不等,所以为0(逻辑运算,当b不等c时这个等式的值就为假即是0),再执行a=0,就把0值赋给了a。1、赋值语句本身也是一个表达式,也是有返回值的,它的返回值就是赋值给变量的值,比如b=1这个语句,会把1...

C语言语法问题:a =( c++,b++) 啥意思?
没有啥意思,就是简单的运算。这里涉及如下运算符,赋值=,自增++,括号,和逗号运算符。按照运算符的优先级,先计算括号 也就是讨论 c++,b++ 然后计算++,也就是c和b分别自加。(注意)然后谈论逗号运算符,没有意义,就是从左到右。所以最后赋值给a的是b++。前面提到一个注意就是,虽然b自...

相似回答