标签: c parsing
我有这个C代码行:
int a; a = (1, 2, 3); printf("%d", a);
为什么要打印值3? (最后一个)。
3
答案 0 :(得分:2)
逗号运算符评估其所有"成员"但返回最后一个表达式的值。从C11标准:
逗号运算符的左操作数被评估为void 表达;它的评估与之间存在一个序列点 正确的操作数。然后评估右操作数; 结果 有它的类型和价值。