可变参函数的定义方法实例

作者在 2008-12-19 18:42:01 发布以下内容
#include   <stdio.h>  
#include   <stdarg.h>  
/*   calculate   sum   of   a   0   terminated   list   */  
void   sum(char   *msg,   ...)  
{  
 int   total   =   0;  
 va_list   ap;  
 int   arg;  
 va_start(ap,   msg);  
 while   ((arg   =   va_arg(ap,int))   !=   0)   {  
  total   +=   arg;  
 }  
 printf(msg,   total);  
 va_end(ap);  
}  
 
int   main(void)  
{  
 sum("The   total   of   1+2+3+4   is   %d\n",   1,2,3,4,0);  
 return   0;  
}
技术 | 阅读 3331 次
文章评论,共1条
vfdff(作者)
2008-12-19 18:43
1
#include &lt;stdarg.h&gt;<br />
#include &lt;stdio.h&gt;<br />
<br />
int printf( char * format , ...)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;va_list ap;<br />
&nbsp;&nbsp;&nbsp;&nbsp;int n;<br />
&nbsp;&nbsp;&nbsp;&nbsp;va_start (ap,format);<br />
&nbsp;&nbsp;&nbsp;&nbsp;n=vprintf(format ,ap);<br />
&nbsp;&nbsp;&nbsp;&nbsp;va_end(ap);<br />
&nbsp;&nbsp;&nbsp;&nbsp;return n;<br />
}<br />
<br />
int main()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;gyhxxl\n&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%c%d%c&quot;,'c',8,'\n');<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}
游客请输入验证码
浏览1970389次