我的程序編譯正常,但它調用getinput()函數時,它永遠不會提示輸入。C程序跳過fgets
爲了顯示更多代碼,我添加了fflush,但仍然因爲某種原因跳過它。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
main(){
char mystring[] = "It's equal to it. ";
int k = 32;
int e;
printf("Enter a number: ");
scanf("%d",&e);
if(e == k){
printf("\n\n%s\n",mystring);
} else if(e < k){
printf("\n\n%d\n",e);
} else {
getinput();
}
exit(0);
}
int getinput(){
char gettext[64];
printf("Enter text here: ");
fflush(stdout);
fgets(gettext, 64, stdin);
printf("\n\nYou entered: %s\n\n",gettext);
return 0;
}
Your title says它跳過'fgets',但你的問題更多地是關於'printf'。 – Barmar
@WillBD看起來這個問題是一個不同的問題,因爲混合了'scanf'和'fgets'。 – Barmar
啊,好的一點,我沒有看到你的評論(因此重新閱讀了這個問題),直到我把礦井放好之後,才發現。 – WillBD