C语言程序,要求两个数通过函数调用比较两个数的大小,并把大数返回给主调函数,输出这个数。

2024-12-22 18:37:32
推荐回答(5个)
回答1:

max函数里你根本没有对*p1和*p2作比较,应该这样写:
int max(int *p1,int *p2)
{
if(*p1>*p2)
return *p1;
else
return *p2;
}
另外,main函数中的
if(a>b)
max(p1,p2);
删掉,因为根本没用。

回答2:

int max(int *p1,int *p2)
{
int temp;
temp=*p1;
return(temp);
}
你之前那个函数根本没有进行比较,
改成
int max(int *p1,int *p2)
{
int temp;
if(*p1>*p2)
temp=*p1;
else
temp=*p2;
return(temp);
}

回答3:

/*#include
void main()
{
int max(int *p1,int *p2);
int a,b,c;
int *p1,*p2,*p3;
scanf("%d %d",&a,&b);
p1=&a;
p2=&b;
p3=&c;
if(a>b) /*这样其实只能比较一开始输入的第一个值大于第二个值。。*/
{ /*注意加了挂号*/
max(p1,p2);
c=max(p1,p2); /*原先没有进行比较,c总是等于第一个数*/
}
printf("%d",*p3);
}
int max(int *p1,int *p2)
{
int temp; temp=*p1;
return(temp);
} */
#include
void main()
{
int max(int *p1,int *p2);
int a,b,c;
int *p1,*p2,*p3;
scanf("%d %d",&a,&b);
p1=&a;
p2=&b;
p3=&c;
if(a>b) /*当输入第一个值小于第二个输入的值时*/
c=max(p1,p2);
else
c=b;
printf("%d",*p3);
}
int max(int *p1,int *p2)
{
int temp;
temp=*p1;
return temp;
}

回答4:

# include
void main()
{
int a,b,max;
scanf("%d,%d",&a,&b);
max=a;
if (max max=b;
printf("%d",max);
}
这个程序可以比较两个数的大小

回答5:

  你要通过调用函数实现应该可以用以下代码:

  #include"stdio.h"
  int max(int a,int b)
  {
   return ((a)>(b)?(a):(b));

  }
  void main()
  {
   int a,b;
   int c;

   scanf("%d %d",&a,&b);
   c=max(a,b);
   printf("%d\n",c);

  }