Chào mọi người, em là người mới học về lập trình, hiện tại hiện tại em đang thắc mắc về vấn đề này mong mọi người hỗ trợ.
Vấn đề là khi em dùng kiểu dữ liệu int,unsigned int như đoạn code bên dưới thì chương trình của em lại in lên màn hình kết quả là -1, trong khi đây là kiểu dữ liệu unsigned int mà sao nó lại in ra số âm, và khi em đổi mấy kiểu dữ liệu trên về kiểu char, unsigned char và short, unsigned short thì nó ra kết quả là 255 và 65535. Bộ chỉ có mỗi kiểu int, unsigned int này là nó có khác gì sao? Hay có gì em sai không?
int main() {
int a = 4;
int b = 5;
unsigned int c;
c = a - b;
printf("%d\n", c);
_getch();
return 0;
}