将所有数组元素复制到C中的另一个数组中

将所有数组元素复制到C中的另一个数组中,c,C,我完成了我的逻辑,它实际上用于将一个数组元素复制到另一个数组中,但在printing语句的最终输出(第1点)中,它并没有像我预期的那样工作良好 #include <stdio.h> int main() { int arr[50],n,key,loc; printf("Enter size of the Elements:\n"); scanf("%d", &n); printf("Ente

我完成了我的逻辑,它实际上用于将一个数组元素复制到另一个数组中,但在printing语句的最终输出(第1点)中,它并没有像我预期的那样工作良好

    #include <stdio.h>
    int main()
    {
       int arr[50],n,key,loc;

       printf("Enter size of the Elements:\n");

       scanf("%d", &n);

       printf("Enter %d Elements\n", n);

       for(int i=0;i<n;i++)
       {
           scanf("%d", &arr[i]);
       }
       //int a = arr[i];

       printf("Enter the Element to insert:\n");

       scanf("%d", &key);

       printf("Enter the Location to insert:\n");

       scanf("%d", &loc);

       for(int i=n-1;i>=loc;i--)
       {
           arr[i+1] = arr[i];
       }

       arr[loc] = key;

       printf("Result of Array:\n");

       for(int i=0;i<=n;i++) //Point 1
       {
           printf("%d\n", arr[i]);
       }

       return 0;
    }
#包括
int main()
{
内方位[50],n,键,位置;
printf(“输入元素的大小:\n”);
scanf(“%d”和“&n”);
printf(“输入%d个元素\n”,n);
对于(int i=0;i=loc;i--)
{
arr[i+1]=arr[i];
}
arr[loc]=密钥;
printf(“数组的结果:\n”);

对于(int i=0;i当您将元素插入数组时,数组的大小会增加;您应该在打印之前输入一个n++值。

您确定您要解决的代码是正确的吗?我看不出该逻辑有任何错误,除了输入可能导致缓冲区溢出。我认为您的逻辑是正确的。但是声明数组的大小,您可以让用户输入的值来实现。我在下面发布了代码,这只是一个小补丁,可以使您的代码变得动态,因为您的代码逻辑没有任何错误

#include <stdio.h>
int main()
{
   int n,key,loc;

   printf("Enter size of the Elements:\n");

   scanf("%d", &n);

   int arr[n + 1]; 

   printf("Enter %d Elements\n", n);

   for(int i=0;i<n;i++)
   {
       scanf("%d", &arr[i]);
   }
   //int a = arr[i];

   printf("Enter the Element to insert:\n");

   scanf("%d", &key);

   printf("Enter the Location to insert:\n");

   scanf("%d", &loc);

   for(int i=n-1;i>=loc;i--)
   {
       arr[i+1] = arr[i];
   }

   arr[loc] = key;

   printf("Result of Array:\n");

   for(int i=0;i<=n;i++) //Point 1
   {
       printf("%d\n", arr[i]);
   }

   return 0;
}
#包括
int main()
{
int n,键,loc;
printf(“输入元素的大小:\n”);
scanf(“%d”和“&n”);
int arr[n+1];
printf(“输入%d个元素\n”,n);
对于(int i=0;i=loc;i--)
{
arr[i+1]=arr[i];
}
arr[loc]=密钥;
printf(“数组的结果:\n”);
对于(int i=0;i