I am learning C and I was messing around with deferent datatypes. I noticed something strange that the value of a char variable become zero every time I call scanf(*)
int main(){
char mychar;
char mychar2;
char mychar3;
scanf(" %d",&mychar);
printf("char1 is :%d \n",mychar);
scanf(" %d",&mychar2);
printf("char1 is :%d\n",mychar);
printf("char2 is :%d\n",mychar2);
scanf(" %d",&mychar3);
printf("char1 is :%d\n",mychar);
printf("char2 is :%d\n",mychar2);
printf("char3 is :%d",mychar3);
return 0;
}
output
15
char1 is :15
24
char1 is :0
char2 is :24
40
char1 is :0
char2 is :0
char3 is :40
since I am a total beginner In c programming, I just want to understand the reason of that behavior