Having trouble adding 2 binary numbers in c++

I'm having trouble adding 2 binary numbers in C++, instead of having the user input the binary numbers into the array (which I've gotten down) I shortened it to use two predetermined numbers 1010 + 0110, which should total to 10000, but the result I'm getting is 0012FEB0. Could anyone tell me where I'm going wrong with this?

Thanks in advance for any help.

Code:

`#include <iostream>`

using namespace std;

int b2_addition (int a[], int b[]);

int main (void)

{int a[4]={1,0,1,0}, b[4]={0,1,1,0}, c[8];

b2_addition(a, b);

cout<<c;

return(0);

}

int b2_addition (int a[], int b[])

{int c[8], n_bits=4, carry=0;

for(int i=0;i<n_bits;i++)

{int carry=0;

c[i]=a[i]+b[i]+carry;

if(c[i]==3)

{c[i]=1; carry=1;}

if(c[i]==2)

{c[i]=0; carry=1;}

if(c[i]==1)

{c[i]=1; carry=0;}

if(c[i]==0)

{c[i]=0; carry=0;}

}

if(carry==1)

{n_bits++; c[n_bits]=1;}

return(c[8]);

}