C语言fprintf的使用问题,C4477

利用一个程序进行方程求解出现以下问题
1>c:\users\administrator\desktop\c语言\no.2\4.1(1)\4.1(1)\4.1(1).cpp(17): warning C4477: “fprintf”: 格式字符串“%f”需要类型“double”的参数,但可变参数 1 拥有了类型“float *”
导致程序的输出文件出现的都是零
C4477说的缓存区到底怎么用
问题是否在于fprintf如果不是的话错误在哪里?
谢谢作答
以下为原码
//1.Introduce the system function
#include "stdafx.h"
#include"stdlib.h"
#include"stdio.h"
void main(void)
{
float a, b, c, x, y;
//2.Open the file and write the marks into file
FILE*file1, *file2;
file1 = fopen("PARADAT.txt", "r");
file2 = fopen("PARAOUT.txt", "w");
for (int k = 1; !feof(file1); k++)
{
fscanf(file1, "%f;%f;%f", &a, &b, &c);
x = -(b / (2 * a));
y = (4 * a*c - b*b) / 4 * a;
fprintf (file2, "(%f,%f,%f)", &a, &b, &c);
fprintf (file2, "(%f,%f)", &x, &y);
}
//3.Close the file
fclose(file1);
fclose(file2);
}

2个回答

fscanf读数用取地址运算符&

fprintf写数直接赋变量名即可,**不用再加&**

weixin_38249386
weixin_38249386 回复weixin_38249386: 零
3 年多之前 回复
weixin_38249386
weixin_38249386 回复战在春秋: 可是运行的输出文件结果均为(0,0)是为什么呢
3 年多之前 回复

fprintf (file2, "(%f,%f,%f)", &a, &b, &c);
格式不对啊,fprinf的时候只要给输出变量的变量名就好了。
fprintf (file2, "(%f,%f,%f)", a, b, c);

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问