作业帮 > 综合 > 作业

c语言这段程序看不懂int fun(int a,int b,int c){ int t; t=(a>b)?(b>c?b:

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 12:05:18
c语言这段程序看不懂
int fun(int a,int b,int c)
{ int t;
t=(a>b)?(b>c?b:(a>c?c:a))
:((a>c)?a
:((b>c)?c:b));
return t;
}
c语言这段程序看不懂int fun(int a,int b,int c){ int t; t=(a>b)?(b>c?b:
这个函数的作用是找3个数a,b,c中的最大的那个数的值
首先理解三目运算的意思:
int t =a>b?a:b //这个的意思是
if(a>b)
t =a;
else
t =b;
把上面的那个表达式分解理解就是这个意思
t=(a>b)?(b>c?b:(a>c?c:a)) //如果a大于b,则比较b和c的关系,如果b大于c,那么关系 //就出来了a>b>c;如果b不大于c,那么判断a是否大 于c,如果a大于c,那么关系就是a>c>b
:((a>c)?a //同理分析下面的
:((b>c)?c:b));