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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP