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
广告