系列文章《C語言經典100例》持續創作中,歡迎大家的關注和支持。
喜歡的同學記得點贊、轉發、收藏哦~
後續C語言經典100例将會以pdf和代碼的形式發放到公衆号
歡迎關注:計算廣告生态 即時查收
1 題目函數:find()
功能:用指針函數輸出學生成績尋找相同元素的指針
描述:比較兩個有序數組的元素,輸出兩個數組中第一個相同的值
利用有序數組有序的特點
建立一個指針函數,這個函數返回值為指針類型,即一個地址。定義如下:
int*find(int*a,int*b,intm,intn);
在程序中調用該函數:
int*p=find(a,b,sizeof(a)/sizeof(a[0]),sizeof(b)/sizeof(b[0]));
返回一個指向整型變量的指針
3 代碼
#include<stdio.h>
#include<stdlib.h>
/**
函數:find()
功能:尋找相同元素的指針
描述:比較兩個有序數組的元素,輸出兩個數組中第一個相同的值
**/
int*find(int*a,int*b,intm,intn){
int*pa=a;
int*pb=b;
while(pa<a m&&pb<b n){
if(*pa<*pb){
pa ;
}
elseif(*pa>*pb){
pb ;
}
else{
returnpa;
}
}
}
intmain(intargc,charconst*argv[]){
int*p;
inta[]={2,5,7,9,11,34,56};//聲明兩個數組
intb[]={3,6,8,10,12,34,59};//聲明兩個數組
printf("兩個數組的内容分别是:\n");
for(inti=0;i<sizeof(a)/sizeof(a[0]); i){//打印數組
printf("%d",*(a i));
}
printf("\n");
for(intj=0;j<sizeof(b)/sizeof(b[0]); j){//打印數組
printf("%d",*(b j));
}
p=find(a,b,sizeof(a)/sizeof(a[0]),sizeof(b)/sizeof(b[0]));
printf("\n相同的數字是:%d\n",*p);
}
示例結果:
$gccex021.c-odemo
$./demo
兩個數組的内容分别是:
2579113456
36810123459
相同的數字是:34
--END--
喜歡本文的同學記得點贊、轉發、收藏~
更多内容,歡迎大家關注我們的公衆号:計算廣告生态
後續C語言經典100例将會以pdf和代碼的形式發放到公衆号
同時也帶來更多系列文章以及幹貨❤️!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!