问题遇到的现象和发生背景
学了指针不会用,求用指针的方法,另外问一下学了不会用怎么办
#include <stdio.h>
#include <stdlib.h>
#define N 3 //学生数量
#define M 5 //几门成绩
//储存学生信息的结构体
typedef struct student
{
int score[M];//各科成绩
int avg;//平均分
}STUDENT_T;
int main (int argc, char *argv[])
{
int i = 0;
int j = 0;
STUDENT_T *p = NULL;
STUDENT_T *tmp = NULL;
//指针指向动态申请的内存
p = malloc(sizeof(STUDENT_T)*N);
if (!p)
{
printf("\n");
return -1;
}
//屏幕输入或变量直接赋值每个学生的各科成绩 并计算平均分
tmp = p;
for (i = 0; i < N; i++, tmp++)
{
printf("输入第%d个学生的%d个成绩:\n", i+1, M);
for (j = 0; j < M; j++)
{
scanf("%d", &tmp->score[j]);
//tmp->score[j] = 60+2*i+2*j;
tmp->avg += tmp->score[j];
}
tmp->avg /= M;
}
//打印各学生的平均分
tmp = p;
for (i = 0; i < N; i++, tmp++)
{
printf("学生:%d 平均分:%d\n", i+1, tmp->avg);
}
free(p);
return 0;
}