在开发MTK
![](/icons/10226de.gif)
![](/icons/10226dou.gif)
![](/icons/10226yi.gif)
![](/icons/10226dou.gif)
![](/icons/10226yi.gif)
![](/icons/10226yi.gif)
![](/icons/10226de.gif)
![](/icons/10226dou2.gif)
![](/icons/10226int.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226dou.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226dou.gif)
![](/icons/10226yi.gif)
![](/icons/10226de.gif)
![](/icons/10226yi.gif)
![](/icons/10226dou.gif)
![](/icons/10226int.gif)
![](/icons/10226de.gif)
![](/icons/10226de.gif)
![](/icons/10226dou.gif)
![](/icons/10226yi.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226de.gif)
![](/icons/10226dou.gif)
![](/icons/10226int.gif)
![](/icons/10226zifu.gif)
![](/icons/10226de.gif)
1.要在
![](/icons/10226hanshu.gif)
![](/icons/10226dou2.gif)
![](/icons/10226yi.gif)
![](/icons/10226dou.gif)
![](/icons/10226dou.gif)
![](/icons/10226dou2.gif)
void va_start(va_list ap, last);
type va_arg(va_list ap, type);
void va_end(va_list ap);
void va_copy(va_list dest, va_list src);
下面详细介绍这些宏定义:
2.void va_start(va_list ap, last)
va_start必须第
![](/icons/10226yi.gif)
![](/icons/10226diaoyong.gif)
![](/icons/10226dou.gif)
![](/icons/10226chushi.gif)
![](/icons/10226de.gif)
![](/icons/10226dou.gif)
![](/icons/10226yi.gif)
![](/icons/10226dou2.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226de.gif)
![](/icons/10226de.gif)
![](/icons/10226yi.gif)
![](/icons/10226de.gif)
![](/icons/10226dou.gif)
![](/icons/10226de.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226dou2.gif)
![](/icons/10226yinwei.gif)
![](/icons/10226de.gif)
![](/icons/10226dou.gif)
![](/icons/10226dou.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226dou.gif)
![](/icons/10226shuzu.gif)
![](/icons/10226dou2.gif)
对于有可变长参数
![](/icons/10226dou.gif)
![](/icons/10226de.gif)
![](/icons/10226de.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226dou.gif)
![](/icons/10226int.gif)
![](/icons/10226de.gif)
![](/icons/10226dou2.gif)
![](/icons/10226de.gif)
![](/icons/10226dou.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226yi.gif)
![](/icons/10226dou2.gif)
数将被传递给va_start
![](/icons/10226kh.gif)
![](/icons/10226dou.gif)
![](/icons/10226kh.gif)
![](/icons/10226kh.gif)
![](/icons/10226diaoyong.gif)
![](/icons/10226de.gif)
![](/icons/10226dou2.gif)
type va_arg(va_list ap, type)
宏va_arg展开后是有关下
![](/icons/10226yi.gif)
![](/icons/10226de.gif)
![](/icons/10226de.gif)
![](/icons/10226dou.gif)
![](/icons/10226de.gif)
![](/icons/10226dou2.gif)
va_arg返回参数列表中
![](/icons/10226de.gif)
![](/icons/10226de.gif)
![](/icons/10226yi.gif)
![](/icons/10226dou2.gif)
void va_end(va_list ap)
每次
![](/icons/10226diaoyong.gif)
![](/icons/10226de.gif)
![](/icons/10226diaoyong.gif)
![](/icons/10226dou.gif)
![](/icons/10226dou2.gif)
void va_copy(va_list dest, va_list src)
复制va_list类型
![](/icons/10226de.gif)
![](/icons/10226dou2.gif)
每次
![](/icons/10226diaoyong.gif)
![](/icons/10226dou.gif)
![](/icons/10226de.gif)
![](/icons/10226diaoyong.gif)
![](/icons/10226dou2.gif)
![](/icons/10226diaoyong.gif)
![](/icons/10226diaoyong.gif)
![](/icons/10226de.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226dou.gif)
![](/icons/10226yi.gif)
![](/icons/10226de.gif)
![](/icons/10226de.gif)
![](/icons/10226dou.gif)
![](/icons/10226yi.gif)
![](/icons/10226zifu.gif)
![](/icons/10226diaoyong.gif)
![](/icons/10226kh.gif)
![](/icons/10226de.gif)
![](/icons/10226de.gif)
![](/icons/10226hanshu.gif)
pr
![](/icons/10226int.gif)
![](/icons/10226kh.gif)
![](/icons/10226yi.gif)
![](/icons/10226dou.gif)
![](/icons/10226de.gif)
![](/icons/10226de.gif)
![](/icons/10226de.gif)
![](/icons/10226dou2.gif)
3. 举例:
#
![](/icons/10226include.gif)
#
![](/icons/10226include.gif)
![](/icons/10226int.gif)
![](/icons/10226main.gif)
![](/icons/10226kh.gif)
{
![](/icons/10226int.gif)
![](/icons/10226int.gif)
![](/icons/10226int.gif)
![](/icons/10226int.gif)
cin>>a>>b>>c>>d>>e;
cout<<"The bigger between a and b is "<<max(2,a,b)<<endl;
cout<<"The bigger in the five number is "<<max(5,a,b,c,d,e)<<endl;
![](/icons/10226return.gif)
}
![](/icons/10226int.gif)
![](/icons/10226int.gif)
![](/icons/10226int.gif)
![](/icons/10226int.gif)
{ va_list ap;
![](/icons/10226int.gif)
![](/icons/10226int.gif)
va_start(ap,
![](/icons/10226int.gif)
for(
![](/icons/10226int.gif)
![](/icons/10226jiajia.gif)
{
![](/icons/10226int.gif)
![](/icons/10226int.gif)
![](/icons/10226if.gif)
cout<<i<<endl;
}
va_end(ap);
![](/icons/10226return.gif)
}
附:MTK中dbg_pr
![](/icons/10226int.gif)
![](/icons/10226hanshu.gif)
![](/icons/10226de.gif)
void dbg_pr
![](/icons/10226int.gif)
{
va_list ap;
double dval;
![](/icons/10226int.gif)
char *p, *sval;
char *bp, cval;
![](/icons/10226int.gif)
unsigned
![](/icons/10226short.gif)
char buffer[1000];
mem
![](/icons/10226set.gif)
bp= buffer;
*bp= 0;
va_start (ap, fmt);
for (p= fmt; *p; p
![](/icons/10226jiajia.gif)
{
![](/icons/10226if.gif)
{
*bp+
![](/icons/10226jiadeng.gif)
continue;
}
switch (*
![](/icons/10226jiajia.gif)
![](/icons/10226case.gif)
ival= va_arg(ap,
![](/icons/10226int.gif)
![](/icons/10226if.gif)
*bp+
![](/icons/10226jiadeng.gif)
ival= -ival;
}
itoa (&bp, ival, 10);
![](/icons/10226break.gif)
![](/icons/10226case.gif)
ival= va_arg(ap,
![](/icons/10226int.gif)
![](/icons/10226if.gif)
*bp+
![](/icons/10226jiadeng.gif)
ival= -ival;
}
*bp+
![](/icons/10226jiadeng.gif)
itoa (&bp, ival, 8);
![](/icons/10226break.gif)
![](/icons/10226case.gif)
ival= va_arg(ap,
![](/icons/10226int.gif)
![](/icons/10226if.gif)
*bp+
![](/icons/10226jiadeng.gif)
ival= -ival;
}
*bp+
![](/icons/10226jiadeng.gif)
*bp+
![](/icons/10226jiadeng.gif)
itoa (&bp, ival, 16);
![](/icons/10226break.gif)
![](/icons/10226case.gif)
cval= va_arg(ap,
![](/icons/10226int.gif)
*bp+
![](/icons/10226jiadeng.gif)
![](/icons/10226break.gif)
![](/icons/10226case.gif)
dval= va_arg(ap, double);
![](/icons/10226if.gif)
*bp+
![](/icons/10226jiadeng.gif)
dval= -dval;
}
![](/icons/10226if.gif)
itoa (&bp, (
![](/icons/10226int.gif)
![](/icons/10226else.gif)
*bp+
![](/icons/10226jiadeng.gif)
*bp+
![](/icons/10226jiadeng.gif)
fract= (
![](/icons/10226int.gif)
![](/icons/10226int.gif)
itof(&bp, fract);
![](/icons/10226break.gif)
![](/icons/10226case.gif)
for (sval = va_arg(ap, char *) ; *sval ; sval
![](/icons/10226jiajia.gif)
*bp+
![](/icons/10226jiadeng.gif)
![](/icons/10226break.gif)
}
}
*bp= 0;
// pr
![](/icons/10226int.gif)
![](/icons/10226de.gif)
![](/icons/10226zifu.gif)
![](/icons/10226de.gif)
va_end (ap);
}
最新评论