标签: c++ c
我做了一些搜索,但没有找到答案 代码:
char b = 'b'; char c = 'c'; char a[5] = ""; a[0] = b, c;
最后一行是什么意思? b,c部分?
谢谢大家
答案 0 :(得分:5)
使用难以捉摸的comma operator来引起混淆。
评估b,然后将结果分配给a[0]。之后,c被评估,但其值被丢弃。至少在C中就是这种情况。
b
a[0]
c
逗号的优先级低于赋值(see this handy table),这更令人困惑。