繁体   English   中英

为什么我的数组只打印第一个元素?

[英]Why does my array prints only the first element?

    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));
}

尝试使用主 function 打印我的数组,它只打印数组中的第一个元素..有人知道如何修复它吗?

double fun(int size)

考虑 function 返回的内容。 单双。 *arr行将获取arr指针中第一个元素的值并返回它。 我认为您的意思是遍历指向 function 返回的双精度的指针中的每个元素。

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]);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM