利用可变参数来实现输出函数,有两点必须已知:
第一,需知输出参数的个数,这个 可以通过可变参数列表的第一个参数可知。
第二,需知各输出参数的类型,这个也可以通过可变参数列表的第一个参数可知。
例如:实现输出:hello world! 100
则传参时,可将hello看做一字符串,world看做5个字符,!原样输出,100为整数输出,即可表示为:
myprintf("%s %c%c%c%c%c! %d","hello",'w','o','r','l','d',100);
此时,第一个参数中可根据“%”的个数以及原样输出的字符串个数来显示输出参数的总个数;
可根据“%”后的字符不同表示不同类型的参数。
代码如下:
引入头文件:
首先是主函数传参: