I ran into code below and confuse about the line where it subtract two
char fields:

unsigned int Hex2Int(char cC)
{
switch(cC)
{
case 'a':return(10);break;
case 'b':return(11);break;
case 'c':return(12);break;
case 'd':return(13);break;
case 'e':return(14);break;
case 'f':return(15);break;
case 'A':return(10);break;
case 'B':return(11);break;
case 'C':return(12);break;
case 'D':return(13);break;
case 'E':return(14);break;
case 'F':return(15);break;
default:return(cC-'0');break; <== What is this mean? How can C
subtract two char values?
}
return(0);
}


I wrote a test program below and the result of 'H'-'0' is 'Q'. Huh?

int main(void)
{
char cC;
char result;
cC = 'H';
result = cC-'0';
}


This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].