Số là trưa nay sau khi làm xong project, tui có ngồi test lại 1 tí, mọi thứ đều có vẻ ổn cho đến khi tui test tới phần nhập số thực, tui có viết lại 1 ví dụ như sau:
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char argv){
double input=0;
char enter=0;
do{
fflush(stdin);
printf("Enter number: \n");
if( scanf("%lf%c",&input,&enter)!=2 || enter!='\n' )
printf("Wrong input\n");
else
printf("%lf\n",input);
}while(1);
return 0;
}
Khi tui nhập sai vào 2w
, -rt
, … nó đều báo Wrong input
Nhưng khi tui nhập một số và liền sau đó là e
hoặc E
thì lại đúng (WTF)
ví dụ nhập: 2e
, 12313E342
, 123e2
… ( e
nằm ở đầu vẫn báo lỗi) thì nó đều print ra được kết quả.
Mong mn khai não giúp tui e
là cái chichi @@.