此题的精妙之处在于char类型到int类型的转化,需要运算来解决 int secondHighest(char * s) { int max1=-1; int max2=-1; int sz=strlen(s); int i =0 ; for(i=0;i<sz;i++) { if(s[i]>='0'&&s[i]<='9') { if((s[i]-'0')>max1) { max2=max1; max1=s[i]-'0'; } else if((s[i]-'0')<max1&&(s[i]-'0')>max2) { max2=s[i]-'0'; } } } return max2; }