c语言scanf函数源代码,C语言之可变参实现scanf函数(示例代码)
既然有printf函数可变参实现,那就一定有scanf函数的可变参实现。废话不多说,源码奉上:本源码不过多分析,如要明白原理,请翻本博客以往的文章看说明。欢迎关注新浪微博:http://weibo.com/u/1896293701/home?topnav=1&wvr=6#include #include int myscanf(const char *fmt , ...) ;int mai
既然有printf函数可变参实现,那就一定有scanf函数的可变参实现。废话不多说,源码奉上:
本源码不过多分析,如要明白原理,请翻本博客以往的文章看说明。
欢迎关注新浪微博:http://weibo.com/u/1896293701/home?topnav=1&wvr=6
#include
#include
int myscanf(const char *fmt , ...) ;
int main(void)
{
int num ;
printf("pls input num:\n");
myscanf("%d",&num);
printf("num:%d\n",num);
return 0 ;
}
//以下的实现方法我就不多做解释了,以往的博客写得很详细,翻翻就可以看懂,不难。
int myscanf(const char *fmt , ...)
{
va_list ap ;
int ret ;
va_start(ap , fmt);
ret = vscanf(fmt,ap); //这里调用了C库的vscanf函数,以后找到它再把它弄出来,分析方法和vprintf雷同。
va_end(ap);
return ret ;
}运行结果:
输入100,输出100,用myscanf函数来输入
更多推荐
所有评论(0)