C 我的函数没有';我不能对数组做任何事情

C 我的函数没有';我不能对数组做任何事情,c,for-loop,C,For Loop,函数可以用数组B的最后n个元素替换数组A的前n个元素 输出为 数组A 一, 2. 3. 4. 五, 阵列B 六, 7. 8. 9 十, 我尝试在每个循环中放入printf(I),它似乎工作正常,但对数组a和b没有任何作用:( void重新排列(int*a,int*b,int n){ int i; int last_元素; int help[5]={}; i=0; 对于(i;i=n;最后一个元素--){ help[last_element]=b[last_element]; } i=0; 对于(i

函数可以用数组B的最后n个元素替换数组A的前n个元素

输出为

数组A

一, 2. 3. 4. 五,

阵列B

六, 7. 8. 9 十,

我尝试在每个循环中放入
printf(I)
,它似乎工作正常,但对数组a和b没有任何作用:(

void重新排列(int*a,int*b,int n){
int i;
int last_元素;
int help[5]={};
i=0;
对于(i;i=n;最后一个元素--){
help[last_element]=b[last_element];
}
i=0;
对于(i;i=n;最后一个元素--){
b[最后一个元素]=帮助[最后一个元素];
}
}
int main()
{
inta[5]={1,2,3,4,5};
int b[5]={6,7,8,9,10};
int n,i;
重新安排(a、b、2);
printf(“数组A\n”);
i=0;

对于(i;i您在
void reparray
中的最后两个循环,除了复制a和b中已经存在的精确内容外,什么也不做

void reparray(int* a, int* b, int n) {
    int i;
    int last_element;
    int help[5] = {};

    i = 0;
    for (i; i < n; i++) {
        help[i] = a[i];
    }

    last_element = 4;
    for (last_element; last_element >= n; last_element--) {
        help[last_element] = b[last_element];
    }
    last_element = 4-1;
    i = 0;
    for (i = 0; i < n; i++) {
        a[i] = help[last_element];
        last_element++;
    }

    i = 0;
    for (i; i< n; i++) {
        b[i] = help[i];
    }


}


您有几个无效的语句,例如,
for(i;
i;
什么都不做。您可以在循环中初始化值,也可以在循环外初始化值,就像您对(;我试过用铅笔和纸非常小心地运行程序吗?那么
n==2
a=={9,10,3,4,5}
b={1,2,8,9,10}
的预期输出是什么?@yano是的,exactly@morep219你确定这是预期的吗?因为你的第一句话让我认为b应该是
{6,7,8,1,2}
。您可以编辑问题并添加给定n的准确预期输出吗?如何生成类似
inta[]={9,10,3,4,5};intb[]={6,7,8,1,2};如果n==2@morep219像这样更改
void reparray
中的最后一个循环。
void reparray(int* a, int* b, int n) {
    int i;
    int last_element;
    int help[5] = {};

    i = 0;
    for (i; i < n; i++) {
        help[i] = a[i];
    }

    last_element = 4;
    for (last_element; last_element >= n; last_element--) {
        help[last_element] = b[last_element];
    }
    last_element = 4-1;
    i = 0;
    for (i = 0; i < n; i++) {
        a[i] = help[last_element];
        last_element++;
    }

    i = 0;
    for (i; i< n; i++) {
        b[i] = help[i];
    }


}

void reparray(int* a, int* b, int n) {
    int i;
    int last_element;
    int help[5] = {};

    i = 0;
    for (i; i < n; i++) {
        help[i] = a[i];
    }

    last_element = 4;
    for (last_element; last_element >= n; last_element--) {
        help[last_element] = b[last_element];
    }
    last_element = 4 - 1;
    i = 0;
    for (i = 0; i < n; i++) {
        a[i] = help[last_element];
        last_element++;
    }
    last_element = 4;
    int first_element = 0;
    for (i = last_element - n + 1; i < last_element + 1; i++) {
        b[i] = help[first_element];
        first_element++;
    }


}