【发布时间】:2016-03-13 07:09:55
【问题描述】:
int main()
{
int a = (1,2,3);
int b = (++a, ++a, ++a);
int c= (b++, b++, b++);
printf("%d %d %d", a,b,c);
}
我是编程初学者。我不明白这个程序如何显示6 9 8 的输出。
【问题讨论】:
-
这就是所谓的“混淆”代码,即故意编写以混淆人们的代码。虽然它有时可以说明语言的晦涩方面,但不建议初学者使用,因为它可能会教给他们坏习惯,而且在大多数情况下,他们无法自己弄清楚。
-
我投票决定将此问题作为题外话结束,因为混淆了对未来用户/访问者零使用或负面使用的垃圾代码。
-
@MartinJames;我不认为这段代码有零或负面的使用。
-
^^^ 好的,那我们不同意:)
标签: c comma-operator