在我的 C 程序中,fgets
没有读取任何数据。请看下面的代码:
#include <stdio.h>
int main()
{
char string[50];
int marks,i,n, limit;
printf("Enter Limit : \n");
scanf("%d", &limit);
FILE *fptr; fptr=(fopen("string.txt","w"));
if(fptr==NULL){
printf("Error!");
return 0;
}
printf("Enter a string : \n");
fgets(string, sizeof(string), stdin);
fwrite(string, 1, sizeof(string), fptr);
fclose(fptr);
return 0;
}
输入限制后,程序显示“输入字符串”并退出(在输入任何数据之前)。如果我删除该 scanf("%d", &limit);
语句,它工作正常。此外,如果在getchar();
上面添加一条语句,fgets
它将正常工作。有谁知道这个问题背后的原因?