当我用 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
为什么输出不同?
最佳答案
printf("%d %d", a, ++a);
这会导致未定义的行为。
这取决于 printf()
如何处理争论。
关于c - 为什么 printf 的输出不同,a 和 a+1 的输出相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27086033/