这个表达式中为什么Y的值是6不是10
来源:百度知道 编辑:UC知道 时间:2024/05/30 20:53:07
main(){
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
}
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
}
逗号表达式是就近原则,就是离等号最近的那个,不是左边的
比如说int i,j=9;这个时候i,j就是用了逗号表达式,可是只给j赋值了9,i并没有赋值,所以逗号表达式是就近原则
所以这等价于y=(x=a+b)
也就是
x=a+b;
y=x;
逗号表达式的值是左边部分的值
y=(x=a+b),(b+c);
所以y的值是 (x=a+b)
是 6
y=(x=a+b),(b+c);是逗号表达式
y=(b+c)=10
x=a+b=6
输出 y x
即输出
10
6
x=6
y=2
设int y;执行表达式(y=4)||(y=5)||(y=6)后,y的值是______
若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是2.0,为什么?2.000000呢?
(a++)+(a++)为什么这个表达式计算完成后变量a的值是5?
判断整型变量x,y中有且只有一个值为0的表达式为:
这个表达式的值是多少
【这个表达式的值是多少?】
VF中表达式MOD(-3,20)的值为什么是3?怎么算出来的?
设 int x=1, y=1; 表达式(!x||y--)的值是( )。谁能帮我讲讲?
C++中执行代码int x,y(5); x=~y; 后,X的值为什么是-6?
在 C 语言中,表达式 21^2 的值是