Khai báo struct không được

Em sai ở đâu mà khai báo struct không được ạ?

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

typedef struct Thongtin ThongTin;
struct Thongtin{
	char ten[100];
	char ho[100];
	char diachi[1000];
	int tuoi;
	int gioitinh;
};

int main(int argc, char *argv[]) {
	Thongtin nguoichoi[1];
	int i=0;
	for(i=0;i<2,i++){
		printf("\nHo:");
		scanf("%s", &nguoichoi[i].ho);
		printf("\nTen:");
		scanf("%s", &nguoichoi[i].ten);
		printf("\nDia chi:");
		scanf("%s", &nguoichoi[i].diachi);
		printf("\nTuoi:");
		scanf("%d", &nguoichoi[i].Tuoi);
		printf("\ngioi tinh:............(nam=1,nu=0)");
		scanf("%d", &nguoichoi[i].gioitinh);
		if(nguoichoi[I].gioitinh=1){
			printf("gioi tinh:nam");
		}	
		else
		{ printf("gioi tinh:nu");
		}
	}
	
	return 0;
}

em tưởng typydef struct Thongtin Thongtin là khai báo biến tự tạo Thongtin rồi ạ

chỗ này bạn đặt tên kiểu là ThongTin, xuống dưới bạn lại khai báo bằng Thongtin

2 Likes

em tưởng lệnh typedef là thay thế struct Thongtin thành Thongtin mà vì khi đấy mình không phải ghi hẳn struct Thongtin nữa

C phân biệt chữ hoa chữ thường mà bạn, nếu bạn sửa Thongtin nguoichoi[1]; thành ThongTin nguoichoi[1]; thì sẽ chạy được thôi

2 Likes

ôi em không để ý chữ T :V thanks anh nha

anh ơi sao không nhập được địa chỉ mà nó nhảy thẳng xuống tuổi ạ

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