使用fflush(stdin)
和 和有什么不一样flushstdin()
?我知道的唯一区别是我需要在使用之前写下那些 void 的东西flushstdin()
,但我不知道为什么。
void flushstdin()
{
int c;
while((c = getchar()) != '\n' && c != EOF);
}
int main () {
float a, b, c;
float s=0, ar1=0, ar2=0;
printf("Inform value of side A");
while(scanf("%f",&a) != 1 || a <= 0){
printf("Invalid value.\n");
flushstdin();
}
}
和
int main(){
float a,b,c,s=0;
printf("Inform value of side A.");
while(scanf("%f",&a) != 1 || a<=0){
printf("Invalid value.\n");
fflush(stdin);
}
}
我是初学者!哪个代码最好?或者他们是平等的?