首先printf是c语言的函数,不是c++的,因为c++兼容c语言所以能用,不过要注意我说的,这个是有区别的
我觉得这篇文章可能是在批评的printf的没有任何检查错误的能力吧,就是说没有类型检查,例如
char c = 'a';
printf("%d",c);
这个你说能输出吗?能输出,不过你又会问,变量是char类型的,printf的输出符是%d,%d不是输出int类型的吗,这也能输出?也能输出!这就是为了什么说printf没有类型检查的问题
所以就算能输出,并不代表你的程序就能输出对,就没错。
看这段文字可能主要问题并不是在说printf的错误,主要是在谈论调试的问题,中国一般大学是不会教有关调试的东西,这也是一个很可惜,很可悲的地方,其实只要知其然,也知其所以然,无论用什么函数输出,都并没问题的。
printf函数的一般格式是: printf(格式控制,输出表列)
printf函数调用的一般形式
printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。
其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:
“%d”表示按十进制整型输出;
“%ld”表示按十进制长整型输出;
“%c”表示按字符型输出等。
例如:
//参考代码如下:
//参考代码如下:
#include
#include
using namespace std;
int main(){
int a=88,b=89;
printf("%d %d\n",a,b);
printf("%d,%d\n",a,b);
printf("%c,%c\n",a,b);
printf("a=%d,b=%d",a,b);
return 0;
}
/*
运行结果:
88 89
88,89
X,Y
a=88,b=89
*/
%是代表输出的格式,d是代表整形
他说这话的意思是学学程序调试技巧吧。