a?b:a<b是什么东西?为什么这个可以作为返回值输出?
本来应该是(a<b)?a:b,结果不小心输成了a?b:a<b,然而程序依然会跑,而且只返回b的值,不知道是为什么?程序如下:
#include <stdio.h>
double min(double x, double y);
int main(void)
{
double x, y, m;
printf("输入两个浮点数:\n");
scanf("%lf, %lf", &x, &y);
m = min(x, y);
printf("较小值为%lf\n", m);
return 0;
}
double min(double a, double b)
{
return a?b:a>b;
}