〃返回16进制字符串s对应的整数值,遇到任何一个非法字符都返回-1intHexToDec(char*s){char*p=s;//空串返回0if(*p=='\0')return0;//忽略开头的'0'字符while(*p=='0')p++;intdec=0;charc;//循环直到字符串结束while(c=*p++){//dec乘16dec<<=4;//数字字符if(c>='0'&&c<='9'){dec+=c-'0';continue;}//小写abcdefif(c>='a'&&c<='f'){dec+=c-'a'+10;continue;}//大写ABCDEFif(c>='A'&&c<='F'){dec+=c-'A'+10;continue;}//没有从任何一个if语句中结束,说明遇到了非法字符return-1;}//正常结束循环,返回10进制整数值returndec;。