输入了数组的值,但是打印出来有问题

问题遇到的现象和发生背景
#include <stdio.h>
#include <stdlib.h>
void addnum(int arr1[],int arr2[])//所要求的函数,结果放在第一个参数数组内
{int i,up=0;//up为进位
for(i=19;i>=0;i--)
{arr1[i]+=arr2[i]+up;
if(arr1[i]>=10)
up=1;
else up=0;
arr1[i]%=10;
}
if(up==1)printf("最高位有进位!\n");
}


int main( )
{
int i=0,j=0,num1[20],num2[20];
printf("Please input num1[]:\n");
    for(i;i<20;i++)
    {
      scanf("%d",&num1);
    }
    printf("Please input num2[]:\n");
     for(j;j<20;j++)
    {
      scanf("%d",&num1);
     }

addnum(num1,num2);
for(i=0;i<20;i++)//输出结果
printf("%3d",num1[i]);
system("pause");
return 0;
}

不知道时哪里出错了 难道不应该用&吗

&num1改成&num1[i]