在循环中分隔printf语句

时间:2019-01-06 03:11:22

标签: c fflush

问题在于,当程序第二次进入while循环时,printf语句彼此紧接着被写入,因此它们之间的代码块没有时间按原计划工作。我听说(fflush)可以解决问题,但是我不知道如何使用它。

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>

void savegrades(FILE*f)
{
    int g,a,i;
    char name[50];
    f=fopen("grades.txt", "a");

    i = 0;

    do {

        printf("please enter the student name  \n");

        gets_s(name, 20);

        fprintf(f, "%s", name);

        printf("please enter the student grade \n");

        scanf_s("%d", &g);
        fprintf(f, " %d", g);
        i++;
    } while (i < 3);

    fclose(f);
}

int main() {

    FILE*f=NULL;
    savegrades(f);
    _getch();
}

0 个答案:

没有答案