当我在C编程中编写代码时,我写道:
a = 2;
printf("%d %d", ++a, a);
和
a = 2;
printf("%d %d", ++a, a + 1);
作为类似的输出
3 3
但是当我交换它们时,它们有不同之处:
a = 2;
printf("%d %d", a, ++a);
3 3
和
a = 2;
printf("%d %d", a+1, ++a);
4 3
为什么有不同的输出?
答案 0 :(得分:0)
printf("%d %d", a, ++a);
这会导致未定义的行为。
这取决于printf()
如何处理参数。