真不知道是说自己思想老化还是什么的
下在的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