在某些问题中,我们可以发现某些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