
已解决问题
谷歌鐏拌櫕用户在2018.09.30提交了关于“有种你再撞一下c语言传递变长参数”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-14T21:31:42。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,千言万语,表达不了我的感激之情,我已铭记在心 !
详细问题描述及疑问:期待您的答案,千言万语,表达不了我的感激之情,我已铭记在心 !
按照你现在给出的代码,
输出的是123加上一位不确定值
因为va
这一点,你可以打印出指针地址来确定一下
从你的代码推测,你是想让print2打印出后四个参数,包括a在内
即100123
如果是这样可以用
print2中,不要调用va_start
而是直接vl=&a;
如下
voidprint2(intn,inta,
{
va_listv
//va_start(vl
vl=&a;//编译器想优化不让。直接强势插入
vprint(n+1,vl);
va_end
}
可以