C语言细节——浮点运算、可变参数

浮点运算

1、浮点数的保存与整数一样是通过二进制进行的

所以从十进制小数转成二进制再转回去就会不一样。

2、比较两个浮点数最好的方法就是利用一个精确地阈值

ex: if(fabs(a - b)) <= epsilon * fabs(a) )

 

可变参数

1、在printf()中,%f同时表示float和double

2、使用stdarg.h可以使用可变参数

使用次序必须是va_list, va_start(),va_arg(),va_end()

3、可以使用下列函数输出和输入可变参数

int vprintf(char *format, va_list param);

int vfprintf(FILE *stream, char *format, va_list param);

int vsprintf(char *string, char *format, va_list param);

int vscanf(char *format, va_list param);

int vsprintf(char *string, char *format, va_list param);

int vsscanf(char *s, char *format, va_list param);

 

奇怪的问题

posted @ 2010-05-30 22:33  红脸书生  阅读(939)  评论(0编辑  收藏  举报