首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

用变长参数表写的max函数,求纠正解决办法

2012-04-22 
用变长参数表写的max函数,求纠正C/C++ code#includestdarg.h#include stdio.hint main(){int max(char

用变长参数表写的max函数,求纠正

C/C++ code
#include<stdarg.h>#include <stdio.h>int main(){    int max(char *fmt,...);    int a=126,b=212,c=1,d=88,e=19,f=3;    printf("%d\n",max(a,b,c,d,e,f));     return 0;}int max(char *fmt,...){    va_list ap;    int max_num;    char *p;    va_start(ap,fmt);    max_num=*ap;    for(p=fmt;*p;p++)    {        if(*p>max_num)max_num=*p;     }                va_end(ap);        return max_num;             }


[解决办法]
C/C++ code
int max(int a,...){    va_list ap;    int max_num,temp;    va_start(ap,a);    temp=max_num=va_arg(ap,int);    do     {        max_num=temp>max_num?temp:max_num;        temp=va_arg(ap,int);    } while(temp);    va_end(ap);    return max_num;} 

热点排行