傳遞參數1我有這樣的代碼,很簡單,這讓我對函數max(),當我把它從最新的printf錯誤:c - 從中兼容的指針類型
#include <stdio.h>
float max(float v[], int n){
float maxim = v[0];
for(int i = 0; i < n; i++){
if(maxim < v[i]){
maxim = v[i];
}
}
return maxim;
}
void main(){
int v[10], n;
float x;
for(int i = 0; i < 10; i++){
printf("Introduza %d de 10 números: ", i+1);
scanf(" %f", &x);
v[i] = x;
}
printf("Indique o número de elementos que pretende avaliar: ");
scanf(" %d", &n);
printf("O maior valor introduzido entre os %d primeiros números foi %f", n, max(v,n));
}
文本是在葡萄牙語,但那並不重要。 錯誤:
warning: passing argument 1 of ‘max’ from incompatible pointer type [-Wincompatible-pointer-types]
我看到一些線程,但我認爲這是不同的。有人能幫助我嗎?
傳遞的'v'在'馬克斯(V,N)'是一個'int'數組,但'max'想要一個'float'陣列。 –
所以nooby :(我怎麼會錯過這個?非常感謝 – MoonWalker
因爲你正在給每個元素分配float x,所以你可能想'float v [10]'在'main'中。 –