资源预览内容
第1页 / 共1页
亲,该文档总共1页全部预览完了,如果喜欢就下载吧!
资源描述
#includeiostream#includestdarg.husingnamespacestd;voidtest1(intnum,.)/num代表后面的点点有几个参数int*temp=#内存中变量的存放次序是由左到右temp+;for(inti=0;inum;+i)cout*temp;temp+;coutendl;voidfun1(intva_num,.)va_listpp;定义一个参数类型指针ppva_start(pp,va_num);/va_start指向第一个参数的函数,va_num为第一个固定参数/pp不是指向va_num,而是指向第一个可变参数for(inti=1;i=va_num;i+)intdata=*pp;cout第i个可变参数是dataendl;intb=va_arg(pp,int);/va_arg使pp指向后一个参数,返回值是pp指向参数的左边那个值va_end(pp);使pp不再指向堆栈coutendlendl;voidfun2(intva_num,.)va_listpp;定义一个参数类型指针ppva_start(pp,va_num);/va_start指向第一个参数的函数,va_num为第一个固定参数/pp不是指向va_num,而是指向第一个可变参数for(inti=1;i=va_num;i+)intdata=va_arg(pp,int);先取得返回值,然后pp指向下一个cout第i个可变参数是dataendl;va_end(pp);使pp不再指向堆栈coutendl;intmain()intnum1=2;test1(num1,1,2);intnum2=4;test1(num2,1,2,3,4);intva_num=5;fun1(va_num,1,2,3,4,5);fun2(va_num,1,2,3,4,5);system(pause);return0;Output121234第1个可变参数是1第2个可变参数是2第3个可变参数是3第4个可变参数是4第5个可变参数是5第1个可变参数是1第2个可变参数是2第3个可变参数是3第4个可变参数是4第5个可变参数是5请按任意键继续.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号