Mình có một câu hỏi muốn hỏi các bạn là trong đoạn chương trình sau sẽ in ra cái gì???
What will be printed?
unsigned char c;
int main (){
for (c = 0; c < 999; c++) printf ("%d",c);
}
Mình có một câu hỏi muốn hỏi các bạn là trong đoạn chương trình sau sẽ in ra cái gì???
What will be printed?
unsigned char c;
int main (){
for (c = 0; c < 999; c++) printf ("%d",c);
}
Sẽ in ra c từ 0 tới 255 và lặp lại vô tận
Làm ơn cho lời giải thích anh Đạt à
Vì nó bị tràn số, khi dùng unsigned char
thì biến đó sẽ chứa 0 tới 255. Khi vượt qua 255 thì biến đó quay trở về 0. Đó gọi là hiện tượng tràn số. Trong bài này anh có nói về vấn đề này.
Một vấn đề hay đấy
Thanks anh nhiều, em cũng chưa có xem mấy cái clip về C của anh. Thôi giờ xem đã !!
Có nhiều vấn đề anh chưa đề cập trong videos của anh lắm. Em đưa thêm nhiều vấn đề tương tự nữa nhé. Trong diễn đàn cũng có 1 số bài kiểm tra kiến thức C. Em dạo dạo một vòng xem thử ntn?
Uầy vấn đề phát sinh nữa là tại sao nó lại lặp vô tận. Em thử tìm hiều nhưng vẫn chưa có câu trả lời anh à.
Nó lặp vô tận vì điều kiện đầu vào là c phải lớn hơn 999 mới thoát khỏi vòng lặp. Nhưng c cứ lẩn quẩn từ 0-255 thì làm sao mà lớn hơn 999 được. Nên nó cứ lặp hoài.
Thế mà mình không nghĩ ra
Đặt nhiều vấn đề như thế này nữa đi, rồi sẽ vỡ ra nhiều thứ hehe. Mà anh cũng có thêm kinh nghiệm
Oke, anh chuẩn bị tiếp bão vấn đề của em
Bão to Tiếp tiếp nữa đi, làm chưa đã. Post thêm tối về anh làm tiếp.