C语言:模拟实现printf,要求功能:print("ccc\ts!",'b','i','t',"welcome to you");

原创 2016年05月30日 17:15:03
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
int my_printf(const char *fmt, ...)
{
	const char *s;
	char c;
	va_list ap;//参数列表
	va_start(ap, fmt);//取的fmt指针给ap
	while (*fmt)
	{
		/*if (*fmt != 's' || *fmt != 'c')
		{
		putchar(*fmt++);
		continue;
		}*/
		switch (*fmt)
		{
		case 's':
			s = va_arg(ap, const char *);//取参数
			for (; *s; s++)//通过循环,打印字符串内容
			{
				putchar(*s);
			}
			break;
		case 'c':
			c = va_arg(ap, char);
			putchar(c);
			break;
		default:
			putchar(*fmt);
			break;
		}
		fmt++;
	}
	va_end(ap);//置0
}


int main()
{
	char a = 'b';
	my_printf("ccc\ts!", 'b', 'i', 't', "welcome to you");
	system("pause");
	return 0;
}

wKioL1ZDEGyg0vQRAADuJq1DQb8578.jpg


相关文章推荐

C语言提高-39讲: 动态存储管理与动态数组的实现(实践)

任务和代码(一):学生人数没个准 /* *All rights reserved *文件名称:main.c *作者: Osseyda 完成日期:2017.11.1 *版本号:v2. ...

C语言及程序设计初步例程-39 求素数算法

贺老师教学链接  C语言及程序设计初步 本课讲解判别m是否为素数#include int main() { int i, m; int is_prime=1; scanf("...

39 C语言变量的定义位置以及初始值

C语言变量的定义位置以及初始值

做错过的C语言题目- 微信“程序猿”推荐 -2014-03-12 20:39

看微信里“程序猿”推荐文章--“做错过的C语言题目”,很多不确定的,更有没见多的。  第一个宏应用: #include   #define STRCPY(a, b) strcpy(a ##...

第四周《C语言及程序设计》实践项目39 问题求解——求素数

【项目1-完数】/* * Copyright (c) 2016, CSDN学院 * All rights reserved. * 文件名称:【项目2 - n=a!+b!+c!】.cp...

NEHE 39课 物理模拟——glut框架实现

  • 2011年07月25日 15:04
  • 5.71MB
  • 下载

swift UI专项训练39 用Swift实现摇一摇功能

微信的摇一摇功能想必大家都用过,过年的时候抢红包也没少摇吧,那么用swift语言如何实现这么酷炫的功能呢。摇动属于IOS内置可识别的一种动作,在你需要实现摇动功能的viewcontroller中,在v...

wrar39b安装程序

  • 2012年01月03日 18:31
  • 1.37MB
  • 下载

39码128码B码字体

  • 2011年08月20日 15:46
  • 5KB
  • 下载

How Twitter Uses Redis to Scale - 105TB RAM, 39MM QPS, 10,000+ Instances

Yao Yue has worked on Twitter’s Cache team since 2010. She recently gave a really great talk: Scalin...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言:模拟实现printf,要求功能:print(&quot;ccc\ts!&quot;,&#39;b&#39;,&#39;i&#39;,&#39;t&#39;,&quot;welcome to you&quot;);
举报原因:
原因补充:

(最多只允许输入30个字)