#includestdio.h
創(chuàng)新互聯(lián)公司專注于邯鄲網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供邯鄲營(yíng)銷型網(wǎng)站建設(shè),邯鄲網(wǎng)站制作、邯鄲網(wǎng)頁(yè)設(shè)計(jì)、邯鄲網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造邯鄲網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供邯鄲網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i5;i++)
scanf("%d",a[i]);
max=a[0];
min=a[0];
for(i=0;i5;i++){
if(a[i]max)
max=a[i];
}
for(i=0;i5;i++){
if(a[i]min)
min=a[i];
}
for(i=0;i5;i++){
printf("%d",a[i]);
printf(" ");
}
printf("\n");
printf("最大值為%d\n",max);
printf("最小值為%d\n",min);
return 0;
}
首先,指針默認(rèn)只有一個(gè)地址的長(zhǎng)度的空間,存不了那么多的字符。
其次,傳值和傳地址一塌糊涂,完全就是亂寫么。
scanf的第二個(gè)參數(shù)是地址,如果本身不是指針則需要取址符。
我給你重寫了算了
#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ù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); // 用戶輸入數(shù)x
printf("%d ", search(a, 10, x)); // 輸出x在數(shù)組中的下標(biāo)
return 0;
}