Int equated to char array element ,how? and why '0' is subtracted from a[n-1]?

in function,int digit= a[n-1]-0’ ,a[n-1] was a char data type but is given to int data type ,so in return why it is giving last digit not any garbage value or char a equivalent value .

i

@mvarun975_a7021058d653891d if u substract ‘0’ from char it gets converted to int