谁,是我 2023-04-25 22:21 采纳率: 0%
浏览 25

c++指针与数组的使用,一点也没有思路

定义一个函数,将数组中n个证书按照相反的顺序存放。程序涉嫌要求如下:
1.用数组作为函数形参实现函数,函数调用时实参为数组。
2.用数组作为函数形参实现函数,函数调用时实参为指针。
3.用指针作为函数形参实现函数,函数调用时实参为数组。
4.用指针作为函数形参实现函数,函数调用时实参为指针。

  • 写回答

1条回答

  • threenewbee 2023-04-25 22:39
    关注
    用数组作为函数形参,函数调用时实参为数组
    void reverse_array(int arr[], int n) {
      for (int i = 0; i < n / 2; i++) {
        int temp = arr[i];
        arr[i] = arr[n - i - 1];
        arr[n - i - 1] = temp;
      }
    }
    用数组作为函数形参,函数调用时实参为指针
    void reverse_array(int *arr, int n) {
      for (int i = 0; i < n / 2; i++) {
        int temp = *(arr + i);
        *(arr + i) = *(arr + n - i - 1);
        *(arr + n - i - 1) = temp;
      }
    }
    用指针作为函数形参,函数调用时实参为数组
    void reverse_array(int *arr, int n) {
      for (int i = 0; i < n / 2; i++) {
        int temp = arr[i];
        arr[i] = arr[n - i - 1];
        arr[n - i - 1] = temp;
      }
    }
    用指针作为函数形参,函数调用时实参为指针
    void reverse_array(int *arr, int n) {
      int *front = arr;
      int *back = arr + n - 1;
      while (front < back) {
        int temp = *front;
        *front = *back;
        *back = temp;
        front++;
        back--;
      }
    }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月25日