C和指针之函数之实现简单的printf函数(支持%d, %f, %c, %s)
【摘要】 1、问题
*简化printf函数,能够处理%d, %f, %c, %s格式码,假设已经存在
*print_integer和print_float函数,另外2个类型用put char来打印
思路:
void va_start(va_list ap, last);// 取第一个可变参数的指针给ap, // last是函...
1、问题
*简化printf函数,能够处理%d, %f, %c, %s格式码,假设已经存在
*print_integer和print_float函数,另外2个类型用put char来打印
*print_integer和print_float函数,另外2个类型用put char来打印
思路:
-
void va_start(va_list ap, last);// 取第一个可变参数的指针给ap,
-
// last是函数声明中的最后一个固定参数(比如printf函数原型中的*fromat);
-
type va_arg(va_list ap, type); // 返回当前ap指向的可变参数的值,然后ap指向下一个可变参数;
-
// type表示当前可变参数的类型(支持的类型位int和double);
-
void va_end(va_list ap); // 将ap置为NULL
2、代码实现
-
#include <stdio.h>
-
#include <stdarg.h>
-
-
/**
-
* 简化printf函数,能够处理%d, %f, %c, %s格式码,假设已经存在
-
* print_integer和print_float函数,另外2个类型用putchar来打印
-
*/
-
void print_integer(int value)
-
{
-
printf("%d", value);
-
}
-
-
void print_float(float value)
-
{
-
printf("%.1f", value);
-
}
-
-
void my_printf(char
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/78484989
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)