Khai báo kiểu enum này có ý nghĩa gì?

Tại sao mh chép lại code này trong sách của thầy phạm văn ất vào cả turbo C lẫn dev-c++ nó đều báo lỗi vậy mọi người?

#include<stdio.h>

int main()
{
	enum{T0,T1,T2};
	enum day {cn,t2,t3,t4,t5,t6,t7} n1;
	enum day n2;
	int i,j=2000,k=T2;
	i=t7;
	n1=-1000;
	n2=j;
	printf("\n n1=%d, n2=%d, i=%d",n1,n2,i);
	printf("\n k=%d, T1=%d",k,T1);
	return 0;
}

Nó bão lỗi ở đoạn n1=-1000;
Trong giáo trình thầy viết biến enum có thể nhận bất kỳ giá trị nguyên nào mà. Ai giải thích dùm mh với. Thanks.

Trông cũng lạ nhỉ? enum day có 7 phần tử thì n1n2 chỉ có thể nhận giá trị từ 0 đến 6 thôi chứ nhỉ?

Mình trích nguyên văn nhé:" Biến enum thực chất là biết nguyên nó được cấp phát 2 byte bộ nhớ và có thể nhận một giá trị nguyên bất kỳ". Mình đã thay các giá trị từ 0-6 rồi nó vẫn báo lỗi ở chỗ n1 bạn ạ. Hay ông viết sai nhỉ. Mh tự đọc nên chẳng biết thế nào.

Mình chạy code C bình thường mà.
Nếu bạn compiler bằng C++ thì nó lỗi ko ép kiểu
Đơn giản chỉ cần ép kiểu của enum cho số nguyên là đc

1 Like

Lỗi là đây t1 ở đâu ra vậy?

1 Like

Chắc bạn ấy muốn test giá trị của Enum có T0 - T2 đó anh :smiley:

1 Like

Sao mh vẫn ko thể chạy trên dev với turbo c 3.1 đc nhỉ. Bạn dùng chương trình gì vậy?

Cái đó là T1 a ơi. E viết nhầm :slight_smile:

DevC++ 5.11 nha bạn :smiley:

2 Likes

Sao của mình cũng DEV 5.11 mà ko đc nhỉ.

Mình có nói là c++ thì nó đòi thêm ép kiểu :smiley:
Xem code trên hình của mình là thấy.

1 Like

Nhưng mh cũng hiểu ý nghĩa của bài này rồi. Thanks bạn nha. Chắc do phần mềm thôi.

vậy làm sao để chuyển C++ sang c đc bạn?

Đổi lại đuôi file là .c thay vì .cpp là được. :slight_smile:

2 Likes

E nên sử dụng các compiler/IDE hiện đại update chuẩn mới. turbo rất cũ rồi và ko còn được hỗ trợ nữa.
Hiện tại diễn đàn rất nhiều người sử dụng codeblock để code C, bạn có thể tham khảo hướng dẫn dưới đây:

3 Likes

Lúc save có cái option save as type. Bạn chọn C là đc :smiley:
Còn ko như anh anhhuu nói đó. Đổi đuôi cpp thành c rồi mở = devc là đc.

2 Likes

Oh sorry mh chưa đọc code của bạn. Thanks you.

Vậy à, cái này mình cũng không rõ lắm, vì cũng chẳng mấy khi động tới :sweat:

Cho em hỏi, cái kiểu enum có ý nghĩa gì và cách dùng ạ?

Dùng để định nghĩa (và gom) các hằng số có liên quan với nhau. Chi tiết thì nên đọc giáo trình.

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