【发布时间】:2017-12-04 14:57:19
【问题描述】:
这个 C 语句是做什么的?
i=!({ printf("%d\n",r); });
i 和 r 是整数。
我正在尝试使用 pycparser 解析它,它无法识别并引发错误:
pycparser.plyparser.ParseError: :7:6: before: {
谢谢
【问题讨论】:
-
这在标准 C 中无效。
-
去掉里面的分号。
-
这是一个 GNU 语句表达式扩展。
-
int r 初始化为什么?这是未定义的行为。
-
这是不不等于,而是一元的否定和赋值。