📜  门| GATE-CS-2014-(Set-3) |问题 6(1)

📅  最后修改于: 2023-12-03 15:28:44.025000             🧑  作者: Mango

GATE-CS-2014-(Set-3) |问题 6

问题描述

给出以下程序的输出。

int main() {
  int a = 10, b = 20, c = 30;
  c = (a++, b++, ++c);
  printf("%d, %d, %d", a, b, c);
  return 0;
}
回答

这个程序的目的是演示逗号运算符在C语言中的行为。逗号运算符将其两个操作数视为序列,先评估第一个,然后评估第二个,并返回第二个操作数的结果。在这个程序中,先是对变量a和b进行自增,然后对变量c进行自增,然后将变量对c进行赋值。

因此,程序的输出将是:11, 21, 31

代码片段如下:

int main() { int a = 10, b = 20, c = 30; c = (a++, b++, ++c); printf("%d, %d, %d", a, b, c); return 0; }

输出结果:

11, 21, 31