C语言关于数组的一个小题

定义数组a和b是int[5]型的一维数组(元素类型为int型 、元素个数为5)
 a不用初始化,b用用如下值进行初始化1,2,3,0,0
 数组c是int[2][3]型的二维数组,自行给定数值,对其进
行初始化;
 将b赋值给a,然后输出a和b数组;
 然后通过输入改变b数组的数值,然后对改变后的b的
所有元素求和,输出数组b及其和;
 输出数组c的元素;


 
#include<stdio.h>
int main(){
  char a[5];
  char b[5] = {1,2,3,0,0};
  char c[2][3] = {1,1,1,2,3,4};
  int sum =0;
    int i;
  for (i=0; i<5; i++) {
      a[i] = b[i];
}
  for (i=0; i<5; i++) {
      printf("%d",a[i]);
      printf("\n");
      printf("%d",b[i]);
}
  printf("\n");
    for (i=0; i<5; i++) {
      scanf("%d",b[i]);
}
 for (i=0; i<5; i++) {
      sum += b[i];
}
  for (i=0; i<5; i++) {
      printf("%d",b[i]);
}
printf("\n");
  printf("%d",sum);
printf("\n");
for(i = 0;i<2;i++) {
  for(int j = 0;j<3;j++) {
    printf("%d",c[i][j]);
}
}
return 0;
}