首先,指針默認(rèn)只有一個(gè)地址的長(zhǎng)度的空間,存不了那么多的字符。
創(chuàng)新互聯(lián)專(zhuān)注于遠(yuǎn)安企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),購(gòu)物商城網(wǎng)站建設(shè)。遠(yuǎn)安網(wǎng)站建設(shè)公司,為遠(yuǎn)安等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
其次,傳值和傳地址一塌糊涂,完全就是亂寫(xiě)么。
scanf的第二個(gè)參數(shù)是地址,如果本身不是指針則需要取址符。
我給你重寫(xiě)了算了
#includestdio.h
int Retrieve(int array[],int length,int x);/*形參x直接傳值就可以了*/
int main()
{
int *a,x;
int length,i;
scanf("%d",length);
a = (int)malloc(sizeof(int)*length); /*申請(qǐng)一個(gè)內(nèi)存空間用來(lái)存放數(shù)據(jù),或者直接用一個(gè)大數(shù)組也可以*/
C語(yǔ)言中的標(biāo)準(zhǔn)函數(shù)庫(kù)中的strchr()函數(shù)可以實(shí)現(xiàn)查找字符串中的某個(gè)字符。
C語(yǔ)言strchr()函數(shù):
查找某字符在字符串中首次出現(xiàn)的位置
頭文件:#include string.h
strchr() 用來(lái)查找某字符在字符串中首次出現(xiàn)的位置,其原型為:
char * strchr (const char *str, int c);
【參數(shù)】str 為要查找的字符串,c 為要查找的字符。
strchr() 將會(huì)找出 str 字符串中第一次出現(xiàn)的字符 c 的地址,然后將該地址返回。
注意:字符串 str 的結(jié)束標(biāo)志 NUL 也會(huì)被納入檢索范圍,所以 str 的組后一個(gè)字符也可以被定位。
【返回值】如果找到指定的字符則返回該字符所在地址,否則返回 NULL。
返回的地址是字符串在內(nèi)存中隨機(jī)分配的地址再加上你所搜索的字符在字符串位置。設(shè)字符在字符串中首次出現(xiàn)的位置為 i,那么返回的地址可以理解為 str + i。
提示:如果希望查找某字符在字符串中最后一次出現(xiàn)的位置,可以使用 strrchr() 函數(shù)。
C代碼和運(yùn)行結(jié)果如下:
輸入5,成功輸出了其在給定數(shù)組中的下標(biāo)為4,結(jié)果正確,望采納~
附源碼:
#include stdio.h
int search(int a[], int n, int x) { // 返回?cái)?shù)組a[]中x的下標(biāo)
int i;
for (i = 0; i n; i++) {
? if (a[i] == x)
? ? ? return i;
}
return -1; // 數(shù)組中沒(méi)有x則返回-1
}
int main() {
int x, a[10] = {7,9,3,4,5,2,1,6,10,8};
scanf("%d", x); // 用戶(hù)輸入數(shù)x
printf("%d ", search(a, 10, x)); // 輸出x在數(shù)組中的下標(biāo)
return 0;
}
網(wǎng)頁(yè)題目:c語(yǔ)言實(shí)現(xiàn)查找功能的函數(shù) c語(yǔ)言查找程序編寫(xiě)
地址分享:http://muchs.cn/article14/dojhpde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、商城網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站維護(hù)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容