scanf требует адрес, чтобы знать, где хранить значение, которое он читает. Вы можете получить адрес локальной переменной, используя '&'.
scanf("%d", &b[i]);
scanf("%d", &a[j]);
Вы должны прочитать об указателях, чтобы понять, как они работают в C. Это достаточно много, но вы станете намного лучше программистом C, как только поймете это.
Это два руководства, которые я нашел, Указатели на C и 5-минутное руководство по указателям на C .