01/10/2018, 17:09
Tại sao lại không cho nhập số thứ 2?
Nếu em khai báo kiểu dữ liêu của 2 biến khác nhau, thì khi nhập xong số đầu sẽ cho nhập tiếp số thứ 2. Còn nếu em để 2 biến cùng kiểu dự liệu thì lại chỉ cho nhập số đầu rồi cho ra kết quả lun ạ ?
#include <stdio.h>
#include <stdlib.h>
int main()
{
float a, b;
printf("Nhap so dau tien = ");
scanf("%g",&a);
printf("Nhap so thu hai = ");
scanf("%g",&b);
printf("Tong cua hai so la %g", a+b);
return 0;
}
Bài liên quan
%g là gì vậy? float là %f ???
%g : Số chấm động (VD 5.54 khi in sẽ in ra 5.54)
Còn float %f là do em nhìn ví dụ này ạ
Mình chạy dc không có sao, nên có thể là lỗi của IDE của ban?
Vâng. Để em cài lại xem sao. Cám ơn anh
cái này là có thể là do nhập xong số đầu tiên bạn nhấp phím Enter, những gì bạn nhập vào sẽ được lưu vào bộ nhớ đệm bao gồm cả phím enter luôn.
Hàm scanf nó sẽ quét bộ nhớ đệm để lấy giá trị bạn nhập vào, và khi gặp kí tự khoảng trắng hoặc kí tự Enter thì scanf sẽ dừng lại, không scan nữa, do đó những kí tự phía sau vẫn còn trong bộ nhớ đệm.
Trong trường hợp này thì chắc là kí tự Enter vẫn còn trong bộ nhớ đệm. Trong lần scan kế tiếp hàm scanf nó scan kí tự Enter trong bộ nhớ đệm, nên nó sẽ không hiện lên cho bạn nhập số t2 đâu.