夜蚀天 发表于 2021-8-17 16:24:01

求助

a=2 ,b=4,c=6时
y=(x=a+b),(b+c)
为什么y还是等于x=6

Mzzith 发表于 2021-8-17 16:26:48

y = (x = a + b) 这句话的原因后面逗号没法改变y的值

万千只cnm 发表于 2021-8-17 16:49:25

y=(x=a+b),(b+c);
这样不就是以最后一个为结果 是 10

夜蚀天 发表于 2021-8-17 16:50:53

Mzzith 发表于 2021-8-17 16:26
y = (x = a + b) 这句话的原因后面逗号没法改变y的值

,不是运算符吗

夜蚀天 发表于 2021-8-17 16:55:12

万千只cnm 发表于 2021-8-17 16:49
这样不就是以最后一个为结果 是 10

运算的就是y=6,不知道为什么

万千只cnm 发表于 2021-8-17 17:00:06

夜蚀天 发表于 2021-8-17 16:55
运算的就是y=6,不知道为什么

逗号运算符 在表达式里 结果是最右边那个
你把代码复制过来

夜蚀天 发表于 2021-8-17 17:03:38

万千只cnm 发表于 2021-8-17 17:00
逗号运算符 在表达式里 结果是最右边那个
你把代码复制过来

#include <stdio.h>
void main()
{
        int a=2,b=4,c=6,x,y;
        y=(x=a+b),(b+c);
        printf("%d,%d",x,y);
}

万千只cnm 发表于 2021-8-17 17:17:45

夜蚀天 发表于 2021-8-17 17:03
#include
void main()
{



你这相当于是两个表达式
y=(x=a+b) 和 (b+c)

y= (x=a+b,b+c );
这样就是 10
页: [1]
查看完整版本: 求助