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 @@.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?