C语言 怎么调用一个可变参数的函数

 我来答
匿名用户
2011-10-11
展开全部
你是指参数的个数可以变化? 比如文件操作函数fpritnf,它的参数是不确定的,可以是fprintf("%s%s","你好","他好");也可以是fprintf("%s%d%c","字符串",10086,'c'); 如果自己写一个参数变化的函数的话,呵呵,我没试过。
追问
void foo(char *fmt,...) 
{
char *p=fmt;
va_list arg_ptr;
int i,j,k;
va_start(arg_ptr,fmt);
i=va_arg(arg_ptr,int);
j=va_arg(arg_ptr,int);
k=va_arg(arg_ptr,int);
va_end(arg_ptr);
printf(fmt,i,j,k);
}
int main(void)
{
int n=321;
foo("%d %d %d\n",n+1,n+2,n+4);
getchar();
return 0;
}现在是n+1,n+2,n+4是未知的,需要从键盘输入需要的内容,该怎么办?
追答
用标准输入输出函数scanf输入n的值啊,再调用你的foo函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8fbee656e8
2011-10-11 · TA获得超过1328个赞
知道小有建树答主
回答量:578
采纳率:68%
帮助的人:188万
展开全部
看你的样子,你应该是没有包含头文件 stdarg.h
包含之后,就像一般的调用函数就得了
更多追问追答
追问
我包含了,我现在的问题是不知道怎么调用,关键是调用的时候,函数参数中的...是用户从键盘随机输入的多个字符串,这时该怎么调用?麻烦看哈我对另一个人的追问
追答
你想用一个可变参数的函数来获得一堆字符串?
而且,字符串的个数是未知的,调用那个函数就能把那些未知个数的字符串全都保存下来?
你是不是要这样的效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b0e28cae4
2011-10-11 · TA获得超过4016个赞
知道大有可为答主
回答量:1275
采纳率:85%
帮助的人:612万
展开全部
C语言没有可变参数的函数吧?
追问
有啊,比如:
void PrintFError (char * format, ...)
{
char buffer[256];
va_list args;
va_start (args, format);
vsprintf (buffer,format, args);
perror (buffer);
va_end (args);
}
我现在想在主函数里面调用它,该怎么调用?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式