踩了个坑,这里学到了字符串存储是从左往右开始存储的
int romanToInt(char* s) {
int l_temp = 0;
while (*s) {
switch (*s) {
case 'I':
if (('X' == *(s + 1))|| ('V' == *(s + 1))){
l_temp -= 1;
}else{
l_temp += 1;
}
break;
case 'V':
l_temp += 5;
break;
case 'X':
if (('C' == *(s + 1)) || ('L' == *(s + 1))){
l_temp -= 10;
}else{
l_temp += 10;
}
break;
case 'L':
l_temp += 50;
break;
case 'C':
if (('D' == *(s + 1)) || ('M' == *(s + 1))){
temp -= 100;
}else{
temp += 100;
}
break;
case 'D':
l_temp += 500;
break;
case 'M':
l_temp += 1000;
break;
default:
break;
}
// printf("string = %c\r\n", *s);
s++;
}
return l_temp;
}