多个变量的条件表达式如何编写

如果有三个或者多个变量,怎么用条件表达式求最大值?
#include
int main()
{
int a,b,c;
int max;
printf("请输入三个整数\n",a,b,c);
scanf("%d,%d,%d",&a,&b,&c);
max=a>b?a:b>c?b:c;
printf(" max=%d\n", max);
}
结果一输入3它就跳出来max=127


#include<iostream>
using namespace std;
const int N = 101;
int a[N];
int find_max(int l, int r, int q[])
{
    int mid = l + r >> 1;
    if (l == r) return q[l];
    int left_max = find_max(l, mid, q);
    int right_max = find_max(mid + 1, r, q);
    if (left_max >= right_max) return left_max;
    else return right_max;
}
int main()
{
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
        cin >> a[i];
    int max = find_max(0, n - 1, a);
    cout << "该数列的最大值为:";
    cout << max;
    return 0;
}
#时间复杂度分析:该算法采用了分治递归思想,平均复杂度为O(nlog2(n))