本次三目运算符的题目来自CSDN中C语言技能树学习的题目,本文章旨在讲解,如有冒犯题目原作者,还请见谅。废话不多说,上题目。
输入三个整数,求出最大值并输出。以下选项中的条件表达式,哪一项放在(1)处无法求出最大值。(A)
#include <stdio.h>
int main(int argc, char** argv)
{
int a, b, c, max;
printf("请输入3个整数:");
scanf("%d,%d,%d", &a, &b, &c);
(_____1_____)
printf("3个整数中的最大的是:%d", max);
return 0;
}
A选项:先进行a>b的判断,判断结果是一个逻辑值,即0或1。再用c和逻辑结果判断,达不到题目要求。该选项错误。
B选项:这个选项绕一点,就是c和a、b中的大者比较,如果c更大输出c;如果a、b其中的较大者大于c则比较a和b的大小。该选项正确。
C选项:先进行a>b判断,如果a更大则进行a>c?a:c的判断,否则进行b>c?b:c的判断。该选项正确。
D选项:和c选项一样,并且更加直观,因为加上了括号。在优先级不了解的时候就是应该加括号。该选项正确。