// function t find the max value entered in the array
double max(double *n,int size)
{
int i,k=0;
double *maxi;
maxi=&k;
for(i=0;i<size;i++)
{
if(*maxi<n[i])
{
maxi=&n[i];
}
}
return *maxi;
}
//elements of array are added
main()
{
double a[10000],maxi;
int size,i;
printf("enter the size of the array");
scanf("%d",&size);
printf("enter the elements of array");
for(i=0;i<size;i++)
{
scanf("%lf",&a[i]);
}
maxi=max(&a,size);
printf("maximum value is %lf",maxi);
}
爲什麼指針不在函數max中取消引用?如果我取消參考指針n
它會給出錯誤。如果有更好的方法來做到這一點,請建議。爲什麼指針在函數max中不被取消引用?
_IT給出了一個錯誤_並不是一個很實用的說明,請詳細說明你的問題,並提供[MCVE。 –
你的調用'max(&a,size)'有一個小小的差異,這可能會給你一個編譯器警告。它應該是'max(a,size)'或'max(&a [0],size)'。它們都傳遞指向數組第一個元素的指針(這是正確的指針類型'double *'),而不是將指針傳遞給整個數組(這是錯誤的指針類型'double(*)[10000] ')。 –