【发布时间】:2022-09-30 19:16:20
【问题描述】:
我是学习 C 的新手,我想知道是否可以在 C 中的三元运算符中启动超过 1 条指令 - 例如:
int a = 5;
int b = 7;
int max;
int min;
max = (a>b) ? a, b = min : b, a = min;
pritnf(\"%d %d\", min, max);
我想对这些数字进行排序并将它们分配给变量最大值或最小值。 是否可以告诉程序如果 a > b 它会将 a 保存为最大值并将 b 分配给最小值?还是我必须使用 If 函数来做? 我认为问题在于使用逗号,但我不知道应该改用什么。 我得到的信息是这样的:
警告:逗号运算符的左操作数无效 [-Wunused-value] 整数最大值 = (a>b) ? (a, b = min) : (b, a = min);
-
\"Instruction\" 是在这里使用的一个非常重要的术语,并不意味着您认为它在这种情况下的含义。它通常被解释为“机器指令”,与 C 代码及其各种陈述和表达式.顾名思义,三元运算符是包含三个子表达式的表达式。每个表达式可以包含更多的子表达式,对嵌套没有特定限制。
-
提示:您认为该表达式如何根据operator precedence rules 进行解析?请注意
,在该列表中是如何排在最后的。