编辑C++ myprintf函数日记
2019年9月22日
开始研究printf的特点:
1.
printf( )功能:
向系统指定输出设备按指定的格式输入任意个任意类型的数据,并返回实际输出的字符数。若出错,将返回负数。
printf( )使用形式:
printf(“格式控制字符串”,输出项列表);
单个字符的输出函数putchar( )
1.putchar( )功能:
向标准输出设备(显示器)输出一个字符,并返回输出字符的ASCII值。
2.putchar( )使用形式:
putchar(ch);
其中"ch"可以是整型或字符型的常量、变量或表达式,也可以是一个转义字符。输出时,先计算括号内的值,然后根据ASCII码输出相应的字符。
2019年10月18日
#include <stdio.h>
int putf(int i)
{
if(i>10)
putf(i/10);
putchar((int)i%10+'0');
return 0;
}
int printint(int f)
{
if(f<0)
putchar('-');
if(f>0)
putf(f);
else
putf(-f);
return 0;
}
int main()
{
int i;
scanf("%d",&i);
printint(i);
}
2019年10月22日
#include "stdakx.h"
#include "stdarg.h"
int putf(int i)
{
if(i>10)
putf(i/10);
putchar((int)i%10+'0');
return 0;
}
int printint(int i)
{
char a[1000];
int c=0;
while(i)
{
a[c]='0'+i%10;
i=i/10;
c++;
}
a[c]=0;
while(c>0)
{
putchar (a[c-1]);
c--;
}
/*
if(f<0)
putchar('-');
else
putf(f);
printf("check int: %d",i);//check
return 0;*/
}
void printstr(char *c)
{
while(*c)
{
putchar(*c);
c++;
}
}
int myprintf(const char *fmt,...)
{
while(*fmt)
{
if(*fmt=='%')
{
fmt ++;
switch(*fmt)
{
case 'c':
putchar (*(fmt+1));
break;
case 's':
printstr(va_arg(v,char*));
case 'd':
printint(va_ar(v,int));
}
}
}
}