C语言的逗号运算符
展开全部
是的,赋值运算的优先级高于逗号运算符,所以先计算
y=(x=a+b),再计算(b+c),整个逗号表达式y=(x=a+b),(b+c)
的值为
b+c
,然而并没有卵用(没有赋值)。故
最后
y=x=a+b
y=(x=a+b),再计算(b+c),整个逗号表达式y=(x=a+b),(b+c)
的值为
b+c
,然而并没有卵用(没有赋值)。故
最后
y=x=a+b
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的理解是正确的。
我估计是
程序
漏了一对
小括号:
y=
(
(x=a+b),(b+c)
);
意思是
把
逗号
表达式
的
值赋给
y
这样就有用
了。
否则,
就是
烤烤
人
了。
我估计是
程序
漏了一对
小括号:
y=
(
(x=a+b),(b+c)
);
意思是
把
逗号
表达式
的
值赋给
y
这样就有用
了。
否则,
就是
烤烤
人
了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int
a=3,b=4,c=5;
c=(a+=a-=a),//这里是分开两句话的
(b=a,c+2);
a+=a-=a这个是从右往左运行
a-=a
a=0
a+=a
a=0
c=a
c=0所以c=0
b=a
b=0
c+2
c不变
不是的
是要括号括上才取最后一个
比如
c=((a+=a-=a),(b=a,c+2));
这样才是取后面的
a=3,b=4,c=5;
c=(a+=a-=a),//这里是分开两句话的
(b=a,c+2);
a+=a-=a这个是从右往左运行
a-=a
a=0
a+=a
a=0
c=a
c=0所以c=0
b=a
b=0
c+2
c不变
不是的
是要括号括上才取最后一个
比如
c=((a+=a-=a),(b=a,c+2));
这样才是取后面的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2-4 c基础知识 3逗号运算符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询