【问题标题】:what is error : incompatible type for argument of fprintf? [closed]什么是错误:fprintf 的参数类型不兼容? [关闭]
【发布时间】:2022-01-11 21:09:30
【问题描述】:

所以我正在尝试为大学生编写代码。算法是他们输入他们的名字并选择他们想知道等级的科目。然后程序应该读取文件并向他们显示成绩。这是代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


void main()
{
float math_grade, biology_grade, art_grade;
char math[5];
char Biology[10];
char name[20];
char subject[20];
FILE *info;


printf("Enter name : \n");
scanf("%s", name);
info = fopen("c:\\New folder\\info.txt", "r");
fscanf(info, "%s", name);


printf("Choose subject : \n", subject);
scanf("%s", subject);


if (subject == math)
    {
        fscanf(info, "%f", math_grade);
        fprintf("Grade = %f", math_grade);
else if (subject == Biology)
        fscanf(info, "%f", biology_grade);
        fprintf("Grade = %f", biology_grade);
    
else
        fscanf(info,"%f", art_grade);
        fprintf("Grade = %f", art_grade);
    }

} ''' 问题是我遇到错误:fprintf 的参数 2 的类型不兼容。 任何人都知道我做错了什么,我应该如何解决这个问题? ps:忽略其他错误。我还没有调试代码。

【问题讨论】:

  • fprintf 需要一个 FILE 指针。
  • 您需要使用 printf,而不是 fprintf。 fprintf 是写入文件。 printf 是写入标准输出。

标签: c file printf incompatibility


【解决方案1】:
fprintf("Grade = %f", math_grade);

fprintf 函数需要 FILE * 作为其第一个参数。这就是您收到错误的原因。如果要输出到控制台,请改用printf

【讨论】:

    猜你喜欢
    • 2014-03-29
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    相关资源
    最近更新 更多