第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

返回指針值的函數(shù)

返回指針值的函數(shù)

慕村225694 2018-08-17 14:14:56
#include <stdio.h> int main(){  float score[][4]={ {60, 70, 80, 90},{56, 89, 67, 88},{34, 78, 90, 66} };    float * search ( float (* pointer)[4] ); //函數(shù)聲明    float * p;    int i,j;    for(i=0; i<3; i++) { p= search (score+i); if( p==* (score+i) ) {  printf("No:%d,score",i);  for(j=0; j<4; j++)         printf("%5.2f ",* (p+j) );  printf("\n"); } }      return 0; }    float *search ( float ( * pointer)[4]) {    float *pt; int i= 0; pt= NULL; for(; i<4; i++) if( *( *pointer+i)<60) pt = *pointer;    return(pt); } 這個程序有好多不懂  求詳解   我是初學(xué)者  求多多關(guān)照  
查看完整描述

1 回答

?
手掌心

TA貢獻(xiàn)1942條經(jīng)驗 獲得超3個贊

float score[][4] 這是定義一個指針數(shù)組,每個元素都是一個指針,指針類型是一個int[4]的數(shù)組,叫做數(shù)組指針。score也可以理解為二維數(shù)組。

score 是一個指針,它指向數(shù)組指針數(shù)組的首地址,也就是*score = score[0]={60,70,80,90} 那么*(score+1)就是score[1]={...} ,score[0],score[1]也是一個指針,它們指向int[4]數(shù)組的地址。 所以**socre才是具體的值

float (* pointer)[4] 定義一個數(shù)組指針*pointer

search(score+i) 也就是是依次傳入score[0] score[1] score[2] 

search 函數(shù)中 *( *pointer+i)<60  :

*pointer+i 表示的是指針pointer 向后移動i位,那么*(*pointer+i)表示的是指針pointer 向后移動i位的值。所以這個表達(dá)式是在遍歷數(shù)組的值。比如傳進(jìn)來的參數(shù)是score+0它是指向socre[0]的指針,那么for循環(huán)遍歷的值就是60,70,80,90 如果遇到小于60的元素就返回該指針。

 if( p==* (score+i) )    *(score+i)如前面所說是個指針,指向score[i] ,而p是search函數(shù)返回的指針,這是判斷兩個指針是否相同,是否指向同一個地址。


查看完整回答
反對 回復(fù) 2018-09-12
  • 1 回答
  • 0 關(guān)注
  • 767 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號