Tại phải có '&' trong dòng scanf?

Như đoạn code dưới đây, để sử dụng hàm scanf ta phải dùng dấu & với biến ptr->tuoi.

#include<stdio.h>
#include<conio.h>
struct SinhVien {
	int tuoi;
	char ten[30];
	char MSSV[30];
	char ho[30];
};
typedef struct SinhVien sinhVien;
int main(){
	sinhVien *ptr, ds[3];
	ptr = ds;
	scanf_s("%d", &ptr->tuoi);
	while (getchar() != '\n');
	gets_s(ptr->MSSV);
	return 0;
}
1 Like

scanf cần thay đổi giá trị của một biến. Để thay đổi gía trị ta cần địa chỉ của biến đó. & là cách để lấy địa chỉ của một biến.

3 Likes

Em Đã Hiểu. Thanks A đúng là nghề lập trình phải học nhiều mới biết nhiều :smiley:

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