系列文章《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
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。
發表評論
請登錄后評論...
登錄后才能評論