在c-linux中接受char或string输入时,我总是觉得有很多问题。看看这个程序。它不接受用户的输入。请帮忙。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    char *buf;
    int msglen;
    printf("\nEnter message length\t");
    scanf("%d",&msglen);

    buf=malloc(msglen);

    //memset(buf,'\0',msglen+1);
    printf("\nEnter data\t");
    fflush(stdin);
    fgets(buf,msglen,stdin); //NOT WORKING

    fputs(buf,stdout);
    return 0;
}

谢谢:)

最佳答案

使用getchar()而不是fflush(),它可以工作。

10-05 19:13