在C中使用++运算符执行printf

在某些问题中,我们可以发现某些printf()语句包含一些带有++运算符的行。在一些竞争性考试的问题中,我们可以找到这类问题来查找该代码的输出。在本节中,我们将看到此类问题的示例,并试图找出答案。

范例程式码

#include<stdio.h>
int main() {
   volatile int x = 20;
   printf("%d %d\n", x, x++);
   x = 20;
   printf("%d %d\n", x++, x);
   x = 20;
   printf("%d %d %d ", x, x++, ++x);
   return 0;
}

现在我们将尝试猜测输出结果。大多数编译器采用printf()从右到左的每个参数。因此,在第一个printf()语句中,最后一个参数是x ++,因此将首先执行该命令,它将输出20,然后将值从20增加到21。现在输出第二个最后一个参数,并显示21。也以这种方式计算。对于++ x,它将在打印之前增加该值,而对于x ++,它将首先打印该值,然后再增加该值。

请检查输出以获得更好的理解。

输出结果

21 20
20 20
22 21 21