满意答案
wiahru
2014.01.12
采纳率:50% 等级:12
已帮助:9318人
#include
int max(int a,int b){
return a > b ? a : b;
}
int main(){
int a,b,c;
printf("请输入3个数(空格隔开):a b c\n");
scanf("%d %d %d",&a,&b,&c);
printf("三个数中最大的数为: %d\n",max(a,max(b,c)));
return 0;
}
再给你提供一种求N个数的最大值:
如求三个数的最大值调用方式
三个数max(3,a,b,c);
四个数就是max(4,a,b,c,d);
N个数就是max(N,a,b,c,d....);
#include
#include
int max(int num,...)
{
va_list ap;/*其实有typedef char * va_list*/
int index,temp,maxnumber;
va_start (ap,num); /*开始接收(...)传入的参数,num表示接收的个数*/
/*va_arg把从ap为起始的一个整型大小的数据传入,ap变为下一个参数的始址*/
maxnumber = va_arg(ap,int);
for (index = 0;index < num - 1;index++)/*为什么是index
{
temp = va_arg(ap,int);
if (temp > maxnumber) maxnumber = temp;
}
va_end(ap);/*参数结束*/
return maxnumber;
}
int main()
{
printf("%d\n",max(3,1,2,5));
printf("%d\n",max(5,1,2,5,8,4));
return 0;
}
00分享举报