#include <stdio.h>
struct Student {
    int id;         // 4字节
    char name[20];  // 20字节
    float score;    // 4字节（总28字节，内存对齐）
};
int main() {
    FILE *fp = fopen("students.dat", "rb+");
    if (fp == NULL) return 1;

    int targetIdx = 2; // 第3个学生（下标2）
    // 偏移量 = 下标 × 单个结构体大小（确保定位到完整结构体）
    long offset = (long)targetIdx * sizeof(struct Student); 
    fseek(fp, offset, SEEK_SET); // SEEK_SET=0（文件开头）

    // 验证：读取该学生信息
    struct Student temp;
    fread(&temp, sizeof(struct Student), 1, fp);
    printf("第%d个学生：%d, %s, %.1f\n", targetIdx+1, temp.id, temp.name, temp.score);

    fclose(fp);
    return 0;
}