MST

星途 面试题库

面试题:C语言一维数组参数声明与指针的复杂运用

假设有一个函数`void processArray(int arr[], int size)`,在函数内部,需要通过特定的指针运算,将数组中所有偶数下标的元素值翻倍。但要求在函数调用时,使用`int *`类型的指针变量来传递数组首地址。请完成函数定义以及主函数中调用该函数的代码。
43.0万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>

void processArray(int arr[], int size) {
    int *ptr = arr;
    for (int i = 0; i < size; i += 2) {
        *(ptr + i) *= 2;
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    int *ptr = arr;
    processArray(ptr, size);
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}