为什么c语言float型变量输出一直是0.00

代码如下

#include <stdio.h>

struct bitches {
    char id[6];
    char name[11];
    int grades;
};

main() {
    int n, i, j;
    float average, sum;
    scanf("%d", &n);
    struct bitches information[n];
    for (i = 0; i < n; i++) {
        scanf("%s%s%d", &information[i].id, &information[i].name, &information[i].grades);
        sum = sum + information[i].grades;
    }
    average = sum / (float)  n;
    printf("%.2f\n", &average);

1、定义结构体指针时并没有分配存储空间,所以要用malloc()申请空间。
2、变量sum没有初始化,你要求平均,先要将他初始化为0。