printf 和 fprintf 在c 和c++中的使用。

2025-03-31 21:32:01
推荐回答(5个)
回答1:

二者在C语言和C++中的功能是相同的。

1 printf。
C语言的标准格式化输出函数。其调用格式为
int printf(char * format_string, ...);
参数个数不定,依据第一个参数格式字符串中的格式字符,决定后续有多少个参数。
printf会按照格式字符串中的指定的规则,将自身及后续参数值输出到标准输出。
返回值为实际输出变量的个数。

2 fprintf。
C语言的标准格式化输出到文件函数。调用格式为
int fprintf(FILE *fp, char * format_string, ...);
与printf类似,也是根据格式字符串将后续参数输出,不过目标不是固定的标准输出,而是由fp指定的文件。
所以,fprintf的第一个参数设置为stdout时,与printf功能相同。

3 以上两个函数,在C++中同样支持,使用方法相同。不过C++中更推荐使用流对象cout来执行输出。同时使用流对象类fstream来执行文件的操作。

回答2:

#include "math.h"
#include "stdio.h"
void main()
{
double a=1;
double b=2;
FILE *fp;
a=b;
printf("%f",a);

fp=fopen("d:\\data.txt","w");
fprintf(fp,"%f",a);
fclose(fp);
}
这样就可以, 因为c语言要求所有的变量的定义应该放在函数的最上面,而C++支持任何地方定义变量,这也是c++对C语言的改进之处,所以直接把FILE *fp;这一句放在上面就行了。

回答3:

c语言必须先定义所有变量声明完后再使用,c++中则可以在使用的时候在定义!您程序里的倒数第4行定义了个double b = 2;属于c++中的规范c语言则会报错!
修改办法将 double b= 2;放到第一条执行语句之前即可
c中的格式

void main()
{
int b;

char ch;

...

...

double a;

//第一条执行语句 ,在第一条语句之后就不能再定义变量了否则就会报错

a+b;
...

...
return ;

}

c++格式
void main()
{
int b;
char ch;
double a;
//第一条执行语句 ,在第一条语句之后就可以再定义变量了在哪用到在哪定义
a+b;
int i;

for(i =0;i < 3;i++)

{
}

...
...
return ;

}

回答4:

c中没有fprintf函数

回答5:

在C中应把
double b=2;
移到
可执行语句之前:
double a=1;
double b=2;
...