C语言中,同一个函数可以被定义多次吗?

在学习的时候,书上说函数可以做为实参。看到这个表达式,让我产生了这个疑问:
a=max(x,max(y,z));
请问这是什么意思?

可以这样写,其实最常见这样写法的是我们使用printf的时候
printf("max=%d",max(x,y));

这是因为max是有返回值,这种写法就是将函数的返回值作为函数的参数。
a=max(x,max(y,z));
其实就是等价于
y = max(y,z);
a=max(x,y);
只是简化了写法而已。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-02
把max(y,z)的运算结果返回给外层函数,比如max(y,z)返回的值设定为t,既假设t=max(y,z)
然后外层函数就变为a=max(x,t);这样就好理解了
第2个回答  2011-11-02
定义a为一个值
从内向外,
先找到x,y中大的一个
找到后,
再与x比较
选择二者大者
就是a的具体实际输出数值
第3个回答  2011-11-02
这里是调用max函数,不是max的函数定义。
这里是将max(y,z)的返回值作为另一个max函数的第二个参数。
第4个回答  2011-11-02
这个不叫定义,是调用。调用max两次,目的是求x,y,z三个数的最大值。追问

我知道这不是定义,我想知道在整个函数中是怎么应用的,怎么调用的。能举个例子吗,谢谢!

相似回答