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

更新于: 30-7-2019

2K+ 浏览量

开启你的 职业生涯

完成课程以获得认证

开始吧
广告