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; }

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 04:56:20
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:(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:(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:(a>c?c:a)):((a>c)?a:((b>c)?c:b)); return t; }
这个函数的作用是找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));