我自己也写了个但老出错
#include<stdio.h>
void print_d(int n) 用输出一个整数
{
int a;
if(n < 0)
{
putchar('-');
n = -n;
}
if(a = n / 10)
print_d(a);
putchar(n % 10 + '0');
}
void print_f(float f) 用gechar输出一个浮点数 要调用上面函数
{
int n, i = 1;
float t;
if(f < 0)
{
putchar('-');
f = -f;
}
n = (int)f;
print_d(n);
putchar('.');
t = (f - n);
while(i ++ < 7) 主要是这个部分出错
{
t = t * 10;
n = (int)t;
print_d(n);
t = t - (int)n;
}
}
main()
{
float f = 4.2341;
print_f(f);
putchar('\n');
printf("%f", f); 结果应该是4.2341但老是输出4.234099 不知道是上面原因 高手看看
}
是在vc6.0调试的