c++输出函数printf的问题

2024-11-15 05:39:25
推荐回答(5个)
回答1:

首先printf是c语言的函数,不是c++的,因为c++兼容c语言所以能用,不过要注意我说的,这个是有区别的

我觉得这篇文章可能是在批评的printf的没有任何检查错误的能力吧,就是说没有类型检查,例如

char c = 'a';
printf("%d",c);

这个你说能输出吗?能输出,不过你又会问,变量是char类型的,printf的输出符是%d,%d不是输出int类型的吗,这也能输出?也能输出!这就是为了什么说printf没有类型检查的问题

所以就算能输出,并不代表你的程序就能输出对,就没错。

看这段文字可能主要问题并不是在说printf的错误,主要是在谈论调试的问题,中国一般大学是不会教有关调试的东西,这也是一个很可惜,很可悲的地方,其实只要知其然,也知其所以然,无论用什么函数输出,都并没问题的。

回答2:

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 
*/

回答3:

%是代表输出的格式,d是代表整形

回答4:

回答5:

他说这话的意思是学学程序调试技巧吧。