关于printf系列函数使用的思维定式

上一篇 / 下一篇  2007-06-11 03:02:52

真不知道是说自己思想老化还是什么的
下在的printf系列函数的原型
       #include <stdio.h>

       int printf(const char *format, ...);
       int fprintf(FILE *stream, const char *format, ...);
       int sprintf(char *str, const char *format, ...);
       int snprintf(char *str, size_t size, const char *format, ...);

       #include <stdarg.h>

       int vprintf(const char *format, va_list ap);
       int vfprintf(FILE *stream, const char *format, va_list ap);
       int vsprintf(char *str, const char *format, va_list ap);
       int vsnprintf(char *str, size_t size, const char *format, va_list ap);

我们看到了,在printf函数的第一个参数都是字符串
而在平时我习惯上就是这样子
printf("format%d%s%f...",int,char*,float);
当format string的内容不一样时(就算要输出的变量内容一样时),就会用选择结构多写几个printf
而不会想到用
char* format_str="";
printf(format_str,int,char*,float);

思维定式啊,哎,以后自己要注意了,因为在很多的方面都会存在这样的问题,而只是printf


TAG:

红尘弥漫 引用 删除 snail   /   2007-06-13 11:10:49
也有可能是被从内为主了吧,从最先接触C语言开始,几乎所有的书和老师对printf函数就是用这种常量的形式来教人的
朝文 引用 删除 xcwen   /   2007-06-13 03:30:39
是的.
这是一个很有趣的问题。
版主倒是一个细心人!
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-09-07  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 55705
  • 日志数: 170
  • 图片数: 12
  • 文件数: 6
  • 书签数: 10
  • 建立时间: 2007-02-10
  • 更新时间: 2008-01-14

RSS订阅

Open Toolbar