编写一个函数,该函数具有两个形参,分别为int型和指向int型的指针,并返回这两个int值之中较大的数值。

编写一个函数,该函数具有两个形参,分别为int型和指向int型的指针,并返回这两个int值之中较大的数值。求高手指教,我对具有指针形参的函数定义理解的不是很透彻。

int Max(int a,int* b)
{
return(a < *b? *b : a);
}
传递int类型的参数需要为形参开辟一个int 大小的空间,用来复制int实参的值,函数对形参a 的操作在函数给形参复制的空间里。
传递int*类型的参数需要为形参开辟一个int*大小的空间,用来存放实参的地址,函数对形参b的*b操作实际上是通过指针里存储的地址,找到实参的实际位置,对实参对应的空间进行操作。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-13
#include <stdio.h>
int maxi(int a, int* b)
{
return (a > *b ? a : *b);
}

void main()
{
int a = 5;
int b = 6;
int* p = &b;
printf("%d\n", maxi(a, p));
}本回答被提问者采纳
第2个回答  2011-10-13
int max(int a, int* b)
{
return (a>(*b)?a:(*b));
}
有疑问可以问我。
第3个回答  2011-10-13
int num(int m,int *n){
if(m<*n){
return *n;
}else{return m;}
}
相似回答