C++ 一些C/C++;语法
我做了一些搜索,但没有找到答案C++ 一些C/C++;语法,c++,c,C++,C,我做了一些搜索,但没有找到答案 守则: char b = 'b'; char c = 'c'; char a[5] = ""; a[0] = b, c; 最后一行是什么意思?b,c部分 感谢所有使用难以捉摸的词来引起混乱的人 它计算b,然后将计算结果关联到a[0]。然后,计算c,但其值被丢弃。至少在C中是这样 逗号的优先级比赋值()低,这更容易混淆。a[0]=b,c这将c分配给a[0]。另见这个问题:@πάνταῥεῖ 不,不会的。@πάνταῥεῖ 它计算a[0]=b并丢弃结果,然后计算c并
守则:
char b = 'b';
char c = 'c';
char a[5] = "";
a[0] = b, c;
最后一行是什么意思?b,c部分
感谢所有使用难以捉摸的词来引起混乱的人
它计算b
,然后将计算结果关联到a[0]
。然后,计算c
,但其值被丢弃。至少在C中是这样
逗号的优先级比赋值()低,这更容易混淆。
a[0]=b,c代码>这将c
分配给a[0]
。另见这个问题:@πάνταῥεῖ 不,不会的。@πάνταῥεῖ 它计算a[0]=b
并丢弃结果,然后计算c
并丢弃结果。@hvd啊,是的,你说得对!运算符优先级…,具有最低优先级…-1,因为,
的LHS是a[0]=b
,RHS是c
。我先是弄错了,但我在参考资料中进行了仔细检查、更正和链接。是的,b被分配给a[0],但你确定c是最后一个评估的吗?如果逗号不是运算符重载,我认为这是未定义的。@PatrickFromberg我忘了提到我的答案只适用于C。