以下程序段运行后输出的结果是
int x,y,z;
x=y=1;
z=(x+y,x-y);
printf(“%d\n”,z);
只要记住 逗号表达式的 结果是 其 最右边的值, 那这个就很好得出结果了
z = 0
z=(x+y, x-y);
// 等价于
z = x - y = 1 - 1 = 0
基于new bing的解释:
在这段 C 代码中,首先定义了三个整型变量 x,y 和 z。然后通过赋值语句将 x 和 y 都初始化为 1。接下来,在赋值语句中使用了一个逗号表达式 (x+y, x-y),其中逗号表达式的作用是先计算逗号左边的表达式 x+y,然后再计算逗号右边的表达式 x-y,最终将两个结果作为一个元组 (x+y, x-y) 赋值给变量 z。
因此,变量 z 的值为元组 (2, 0),表示 x+y 的结果为 2,x-y 的结果为 0。在最后通过 printf 函数输出 z 的值时,只输出了元组的第一个元素,即 2。因此该程序输出的结果为:
2
z=(x+y,x-y); 逗号运算符 ',' 供参考:https://baike.baidu.com/item/%E9%80%97%E5%8F%B7%E8%BF%90%E7%AE%97%E7%AC%A6/7959271?fr=aladdin