0%

C16 | 用指针函数输出学生成绩

读前福利:几百本互联网技术书籍送给大家https://mp.weixin.qq.com/s/dFqVQ2qJxvQ0YrIlPISJuw


1 题目

函数:search()

功能:用指针函数输出学生成绩

描述:指针函数的使用,输入学生的序号,将在窗口输出该序号对应的学生的成绩

2 思路

  • 指向函数的指针变量的形式如下:

    数据类型 (*指针变量名)()

    例如;

    1
    int * search()
  • *(p)() 表示定义一个指向函数的指针变量,用来存放函数入口地址。在程序设计过程中,将一个函数地址赋值给它,它就指向那个函数。函数指针变量赋值写法:

    1
    p = min;

    在赋值的时候,只给出函数名即可,函数名即地址

    在使用函数指针调用函数的时候,要写出函数的参数,例如:

    1
    m = (*p)(a,b);

3 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h> 

/**
函数:search()
功能:用指针函数输出学生成绩
描述:指针函数的使用,输入学生的序号,将在窗口输出该序号对应的学生的成绩
**/

int * search(int (*p)[4], int n) {
int *pt = *(p+n);
return pt;
}


int main(int argc, char const *argv[]) {
int score[][4] = {
{98,56,89,87},
{88,56,87,80},
{92,56,84,82},
{78,56,90,67}
}; // 声明数组,对应四个学生的各科成绩
int no; // 保存学生编号
printf("输入学生编号:");
scanf("%d", &no);
int *p = search(score, no);
printf("学生编号为 %d 的学生成绩为:\n", no);
for (int i = 0; i < 4; ++i) {
printf("%d\t", *(p+i));
}
putchar('\n');
}

示例结果:

1
2
3
4
5
$ gcc ex020.c -o demo
$ ./demo
输入学生编号:3
学生编号为3的学生成绩为:
78 56 90 67

最后

在这里给大家准备了几百本的互联网技术类书籍,需要的来下载吧!点击获取
有任何问题,欢迎随时交流!!!

------ 全文结束------