输入两个数组,实现对应元素交换,然后输出

#include #define N 3 void Swap(int *a,int *b); int main() { int i; int data1[N],data2[N]; printf("please input data1"); for(i=0;i<=3;i++) { scanf("%d\n",&data1[i]); } printf("please input data2"); for(i=0;i<=3;i++) { scanf("%d\n",&data2[i]); } Swap(&data1,&data2); for(i=0;i<=3;i++) { printf("%d\n",&data1[i]); } for(i=0;i<=3;i++) { printf("%d\n",&data2[i]); } } void Swap(int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } 自己调试总是失败,求大佬指点一下

参考一下:如有帮助,望采纳

#include  <stdio.h>
#define N 10
void ReadData(int a[], int n);
void PrintData(int a[], int n);
void Swap(int *x, int *y);


int main()
{
    int  a[N], b[N],n;
    printf("Input array size(n<=10):");
    scanf("%d", &n);
    printf("Input array a:");
    ReadData(a, n);
    printf("Input array b:");
    ReadData(b, n);
    int *x=a[N],*y=b[N];
    Swap(a,b);
    printf("Output array a:");
    PrintData(b, n);
    printf("Output array b:");
    PrintData(a, n);
    return 0;
}
void ReadData(int a[], int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }
}
void PrintData(int a[], int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        printf("%5d", a[i]);
    }
    printf("\n");
}
/* 函数功能:两整数值互换 */
void  Swap(int *x, int *y)
{
    int  temp;
    int j;
    for (j=0;j<N;j++)
    {
        temp=*x;
        *x=*y;
        *y=temp;
    }
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632