系列文章《C語言經典100例》持續創作中,歡迎大家的關注和支持。
喜歡的同學記得點贊、轉發、收藏哦~
後續C語言經典100例將會以pdf和代碼的形式發放到公眾號
歡迎關註:計算廣告生態 即時查收
1 題目
函數:search()
功能:用指針函數輸出學生成績
描述:指針函數的使用,輸入學生的序號,將在窗口輸出該序號對應的學生的成績

2 思路
- 指向函數的指針變數的形式如下:數據類型 (*指針變數名)()
- 例如
int * search()
- *(p)() 表示定義一個指向函數的指針變數,用來存放函數入口地址。在程序設計過程中,將一個函數地址賦值給它,它就指向那個函數。函數指針變數賦值寫法:
p = min;
- 在賦值的時候,只給出函數名即可**,函數名即地址**在使用函數指針調用函數的時候,要寫出函數的參數
- 例如:
m = (*p)(a,b);
3 代碼
#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("%dt", *(p+i));
}
putchar('n');
}
示例結果:
$ gcc ex020.c -o demo
$ ./demo
輸入學生編號:3
學生編號為3的學生成績為:
78 56 90 67
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/232819.html