C语言程序报错:type of ‘a’ defaults to ‘int’


#include<stdio.h>
int arrange(a,b,c,d){
  int A[4];
  int i,u,o,k;
  for(i=0;i<=3;i++){
    A[i]=a;
    for(u=1;u<=3;u++){
      A[(i+u)%4]=b;
      for(o=1;o<=3;o++){
        if(o==u) continue;
        else A[(i+o)%4]=c;
        for(k=1;k<=3;k++){
          if(k==o || k==u) continue;
          else A[(i+k)%4]=d;
          printf("%c%c%c%c\n",A[0]+'0',A[1]+'0',A[2]+'0',A[3]+'0');
        }
      }
    }
  }
  return 0;
}
int main1(){
  int a,b,c,d;
  char a1,b1,c1,d1;
  scanf("%c",&a1);
  scanf("%c",&b1);
  scanf("%c",&c1);
  scanf("%c",&d1);
  switch(a1){
    case 'a':{
      a=1;
      break;
    }
    case 'j':{
      a=11;
      break;
    }
    case 'k':{
      a=12;
      break;
    }
    case 'q':{
      a=13;
      break;
    }
    default:{
      a=a1-'0';
    }
  }
  switch(b1){
    case 'a':{
      b=1;
      break;
    }
    case 'j':{
      b=11;
      break;
    }
    case 'k':{
      b=12;
      break;
    }
    case 'q':{
      b=13;
      break;
    }
    default:{
      b=b1-'0';
    }
  }
  switch(c1){
    case 'a':{
      c=1;
      break;
    }
    case 'j':{
      c=11;
      break;
    }
    case 'k':{
      c=12;
      break;
    }
    case 'q':{
      c=13;
      break;
    }
    default:{
      c=c1-'0';
    }
  }
  switch(d1){
    case 'a':{
      d=1;
      break;
    }
    case 'j':{
      d=11;
      break;
    }
    case 'k':{
      d=12;
      break;
    }
    case 'q':{
      d=13;
      break;
    }
    default:{
      d=d1-'0';
    }
  }
  arrange(a,b,c,d);
  return 0;
}

函数的参数列表,要用数据类型➕参数名