
C语言程序,要求两个数通过函数调用比较两个数的大小,并把大数返回给主调函数,输出这个数。
要求两个变量的地址作为实参不知道为什么我这个不对,输出的总是先输入的数,无法判断大小。#include<stdio.h>voidmain(){intmax(int*p1,...
要求两个变量的地址作为实参
不知道为什么我这个不对,输出的总是先输入的数,无法判断大小。
#include <stdio.h>
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);
printf("%d",*p3);
}
int max(int *p1,int *p2)
{
int temp;
temp=*p1;
return(temp);
} 展开
不知道为什么我这个不对,输出的总是先输入的数,无法判断大小。
#include <stdio.h>
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);
printf("%d",*p3);
}
int max(int *p1,int *p2)
{
int temp;
temp=*p1;
return(temp);
} 展开
6个回答
2013-01-16
展开全部
max函数里你根本没有对*p1和*p2作比较,应该这样写:
int max(int *p1,int *p2)
{
if(*p1>*p2)
return *p1;
else
return *p2;
}
另外,main函数中的
if(a>b)
max(p1,p2);
删掉,因为根本没用。
int max(int *p1,int *p2)
{
if(*p1>*p2)
return *p1;
else
return *p2;
}
另外,main函数中的
if(a>b)
max(p1,p2);
删掉,因为根本没用。
来自:求助得到的回答
展开全部
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);
}
{
int temp;
temp=*p1;
return(temp);
}
你之前那个函数根本没有进行比较,
改成
int max(int *p1,int *p2)
{
int temp;
if(*p1>*p2)
temp=*p1;
else
temp=*p2;
return(temp);
}
本回答被提问者采纳
展开全部
/*#include <stdio.h>
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 <stdio.h>
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;
}
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 <stdio.h>
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;
}
展开全部
# include <stdio.h>
void main()
{
int a,b,max;
scanf("%d,%d",&a,&b);
max=a;
if (max<b)
max=b;
printf("%d",max);
}
这个程序可以比较两个数的大小
void main()
{
int a,b,max;
scanf("%d,%d",&a,&b);
max=a;
if (max<b)
max=b;
printf("%d",max);
}
这个程序可以比较两个数的大小
展开全部
你要通过调用函数实现应该可以用以下代码:
#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);
}
#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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询