c语言可变参数 printf,c语言 使用可变参数列表实现printf(my_printf)
//使用可变参数列表实现print("s\t c\n","bit-tech",‘w‘);
#include
#include
void int_to_char(int num)
{
if ((num / 10) > 0)
int_to_char(num / 10);
putchar(num %10+ 48);
}
void my_print(char p[],...)
{
char *str1 = p;
int num = 0;
char *pVal;
va_list str;
va_start(str,p);
while (*str1)
{
if (*str1 == ‘%‘&&*(str1 + 1) != ‘\0‘)
{
str1++;
if (*str1 == ‘d‘)
{
num = va_arg(str, int);
int_to_char(num);
}
if (*str1 == ‘s‘)
{
pVal= (char *)va_arg(str, char *);
while (*pVal)
{
putchar(*pVal);
pVal++;
}
}
if (*str1 == ‘c‘)
{
putchar(va_arg(str, char));
}
}
else if(*str1 == ‘\n‘)
{
putchar(‘\n‘);
}
else if (*str1 == ‘\t‘)
{
putchar(‘\t‘);
}
else
putchar(*str1);
str1++;
}
va_end(str);
}
int main()
{
int a=1010;
char b[20]="我是帅哥!";
char c = ‘#‘;
my_print("你\n%c是猪\n%d\n哈哈\n%s\n\t
return 0;
}
原文:http://shaungqiran.blog.51cto.com/10532904/1681698
c语言可变参数 printf,c语言 使用可变参数列表实现printf(my_printf)相关推荐
- 参数控制c语言代码走向,C语言可变参数完全解读
本文转自:http://www.cnblogs.com/wangyonghui/archive/2010/07/12/1776068.html 一.是什么 我们学习C语言时最经常使用printf()函 ...
- 编写可变参数函数 c语言,C语言可变参数函数的编写
1. 引言 C语言我们接触的第一个库函数是 printf("hello,world!");其参数个数为1个. 然后,我们会接触到诸如: printf("a=%d,b=%s ...
- c语言函数可变长参数,一种使用变长参数为C程序构造灵活回调函数的方法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 int twice(void *arg, va_list ap) { apply_func *func = va_arg(ap, apply_func * ...
- ccs用C语言进行printf时,DSP:CCS V6 TMS320F2812 使用printf函数
使用Code Composer Studio Version: 6.1.1.00022,建立TMS320F2812工程. /* * main.c */ #include int main(void) ...
- c语言用户输入编程,C语言入门教程-Printf:读取用户输入
Printf:读取用户输入 前面的程序很好,但要是如果能从用户那里读入值5和7而不是使用固定的值的话,那就更好了.可以改为下面的程序: #include int main() {int a, b, c ...
- c语言函数声明定义参数命名,C语言函数声明与定义
C语言函数声明与定义教程 在 C语言函数声明与定义 语法 type funcName(paramType1 param1, paramType2 param2){ // 执行语句... return ...
- 在c语言中,可以使用动态内存分配技术定义元素个数可变的数组,C语言复制在线考题1精选.doc...
C语言复制在线考题1精选 窗体顶端 <C语言程序设计208304>综合测试 返回测验列表 大项 1 / 2 - 单项选择题 60.0/ 70.0 分 本大题共35道,每题2分,共计70分, ...
- [转载] c语言中检查命令行参数_C中的命令行参数
参考链接: Java中的命令行参数 c语言中检查命令行参数 Command line argument is a parameter supplied to the program when it i ...
- c语言flag go to,C 语言getopt与go语言flag获取命令参数
C语言中的getopt()函数为命令参数的获取提供了很大便利,与golang中的flag功能类似. C语言getopt 下面以ssh中获取主机名/ip和用户名为例来示例如何使用getopt(). in ...
- 以下c语言程序片段用于估测cpu的cache参数,阿里巴巴笔试题
阿里巴巴笔试题 1.平均速度最快的排序算法是______. Shell排序 快速排序 冒泡排序 插入排序 2014-03-29 18:36:02 2.某服务进程的QPS(没秒处理的请求个数)较低,在空 ...
最新文章
- U盘如何量产成USB-CDROM
- 关于产品 / 市场契合点 PMF 的 12 个问题全解读(下)
- 适配器模式(为被封装对象提供不同的接口)
- 强行杀windows服务
- JDBC通过连接池链接数据库总是失败的解决办法
- Nagios3完整配置文档
- 第17讲 | 去中心化与区块链交易性能
- Linux 命令行历史及其history
- HTTP报文结构详解
- 日常生活记账的账本你知道吗
- Android LayoutInflater源码分析
- MySQL(4) 数据库增删改查SQL语句(整理集合大全)
- python爬取有声小说_python写的有声小说爬虫
- js截取指定字符串后面的所有字符
- 哲学初感 ---- 《苏菲的世界》总结
- WebLogic 12C服务器无法打印log4j日志问题,与log4j日志动态打印记录
- 【请收藏】写博客必备工具总结篇
- 基于PageRank的复杂网络社区发现
- 今天给自己分享下我的心得体会
- effective C++ 第三版
热门文章
- heroku java_部署Java Web项目到Heroku
- c语言学习进阶-C语言程序实现矩阵乘法
- Job System之Hello World
- Leecode刷题热题HOT100(9)——回文数
- (三)用于构建AI语言翻译系统的工具
- (三)标记图像以进行AI模型训练
- 在Docker中运行ASP.NET Web API解决方案
- linux hadoop namenode_HADOOP_HDFS伪分布式安装步骤
- oracle 的 dml,Oracle——DML
- cnn stride and padding_Pytorch实现神经网络CNN案例