Bài tập Lập trình C cơ bản nhập môn

int i=1,tong;
while(tong<5){
tong+=i;
i++;
}
printf("%d",tong);

Đối với hàm này tại sao kết quả lại bằng 7 chứ không phải bằng 6 ạ. Theo em là lúc đầu tổng=0 +1=1, sau đó i++ là i=2 suy ra tong=3, i++ là i=3 thì tổng bằng 6 chứ ạ?

khoi tao tong = 0; thi bang 6 ma

Tổng bằng 6 mà đâu phải 7.

Nhưng mà không cho tong=0 thì lại ra bằng 7

Lạ nha,bạn phải khởi tạo giá trị ban đầu cho biến Tổng = 1 số nào đó chứ,để int Tong; là báo lỗi đấy…sao nó ra bằng 7 được nhỉ?

2 Likes

chưa khởi tạo thì nó thích giá trị ban đầu là giá trị nào chả được

5 Likes

giá trị nào mà để nó ra bằng 7 nhỉ???

Phải khai báo giá trị ban đầu cho biến Tổng nhé
Muốn tong=7 thì int a=1;int tong=1;
Bằng null hay 0 gì cũng phải có giá trị khởi tạo ban đầu.

5 Likes

Mình có thể không cần gán giá trị khi khai báo miễn sao dòng code đầu tiên đụng đến nó là gán giá trị cho nó là ok, nếu dòng code đầu tên dùng đến nó mà đem ra cộng trừ nhân chia gì đó thì mới báo lỗi.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?