📄 subject_24446.htm
字号:
<p>
序号:24446 发表者:硬撅撅 发表日期:2002-12-12 18:59:16
<br>主题:va_start ( ArgumentList, Format );干吗用的?
<br>内容:如题
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:xiongli 回复日期:2002-12-12 20:02:55
<br>内容:以上是我学c语言的笔记<BR>c里面的函数可以实现未定参数个数传递,里面就需要用到va_start宏<BR>下面是一个例子<BR>具体问题可以看msdn<BR><BR><BR>/////////////////////////////////// 第一个程序<BR>#include <stdio.h><BR>#include <stdarg.h><BR>double sum_series(int ,...);<BR>main()<BR>{<BR> double d;<BR> d=sum_series(5,0.5,0.25,0.125,0.0625,0.03125);<BR> printf("sum of series is %f\n",d); <BR>}<BR>double sum_series(int num,...)<BR>{<BR> double sum=0.0f;<BR> va_list Vp;<BR> va_start(Vp,num);<BR> for(;num;num--)<BR> {<BR> t=va_arg(Vp,double);<BR> sum+=t;<BR> }<BR> va_end(Vp);<BR> return(sum);<BR>}<BR>////////////////////////////////////////////////////////////////// <BR>第二个程序<BR><BR>#include <stdio.h><BR>#include <stdarg.h><BR>void abc(int,...);<BR>main(<BR>{<BR> abc(4,1234,27.88,'P',"programm c");<BR>}<BR><BR><BR>void abc(int n,...)<BR>{<BR> va_list p;<BR> va_start(p,n);<BR> printf("%d ",va_arg\p,int); ///那个var_arg后面的符号不知道是斜杠还是括号 可能是斜杠<BR> printf("%f ",va_arg\p,double);<BR> printf("%c ",va_arg\p,char);<BR> printf("%s ",va_arg\p,char *);<BR> va_end(p); //那个var_end也不知道是下划线还是 减号<BR> return;<BR>}<BR>结果 1234 27.880000 k programm c <BR><BR>还有 void print(char *p,...)<BR> 还要的话 再说<BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -