这次行动有什么不合法之处

时间:2012-05-21 23:57:02

标签: c sequence-points

即与此类似的代码,使打印输出不确定。

int a=41; a++ & printf("%d\n", a);

希望这个问题不是太愚蠢,因为我不知道这个操作到底是什么。提前感谢您的反馈!

1 个答案:

答案 0 :(得分:9)

问题在于,未指定首先评估哪个,printfa++,并且因为一个对另一个有副作用(您可以阅读a然后写它然后再读它,或读它然后读它然后写它),你得到未定义的行为。