C语言之可变参实现scanf函数
2016-02-23 22:32
288 查看
既然有printf函数可变参实现,那就一定有scanf函数的可变参实现。废话不多说,源码奉上:
本源码不过多分析,如要明白原理,请翻本博客以往的文章看说明。
欢迎关注新浪微博:http://weibo.com/u/1896293701/home?topnav=1&wvr=6
输入100,输出100,用myscanf函数来输入
本源码不过多分析,如要明白原理,请翻本博客以往的文章看说明。
欢迎关注新浪微博:http://weibo.com/u/1896293701/home?topnav=1&wvr=6
#include <stdio.h> #include <stdarg.h> 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函数来输入
相关文章推荐
- C++中this指针的用法.
- C++虚函数表深入剖析
- 三目运算符在C语音和C++语言中的区别
- %-3d在C语言中的含义是什么?
- 值得推荐的C/C++框架和库 (真的很强大)
- c++ 设计模式8 (Factory Method 工厂方法)
- 58. Length of Last Word
- C/C++: 预处理指令
- C语言格式输入函数scanf()详解
- C语言笔记(2)
- C++面向对象编程<十>:虚函数与多态
- C++远航2
- C++学习笔记:继承
- C++2远征之离港篇
- neuq oj 1058: 谭浩强C语言(第三版)习题7.3 矩阵 C++
- c++ 头文件保护符
- C++模板类重载"<<"未定义错误
- 兔子问题 素数 水仙花数 三个经典C程序的解答 C知识回顾第一天
- CPP操作符重载
- A a和A *a = new A()区别