double fun(int size) {
double *arr = (double*)calloc(size, sizeof(double));
assert(arr);
for (int i = 0; i < size; i ) {
scanf_s("%lf", &arr[i]);
}
return *arr;
}
void main() {
int size = 5;
printf("%lf", fun(size));
}
嘗試使用 main 函式列印我的陣列,它只列印陣列中的第一個元素..有人知道如何修復它嗎?
uj5u.com熱心網友回復:
double fun(int size)
考慮函式回傳什么。單雙。該行將*arr獲取arr指標中第一個元素的值并回傳它。我認為您的意思是迭代指向函式回傳的雙精度值的指標中的每個元素。
double *fun(int size) {
double *arr = (double*)calloc(size, sizeof(double));
assert(arr);
for (int i = 0; i < size; i ) {
scanf_s("%lf", &arr[i]);
}
return arr;
}
void main() {
int size = 5;
double *arr = fun(size);
for (int i = 0; i < size; i ) {
printf("%lf", arr[i]);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/377983.html
