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


程序:

#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':

= va_arg(ap, const char *);//取参数

for (; *s; s++)//通过循环,打印字符串内容

{

putchar(*s);

}

break;

case '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;

}

结果:

bit     welcome to you!请按任意键继续. . .


本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1712001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值