题目描述:
比较两个字符串表示的整数大小
num1 大于 num2 返回1; num1 小于 num2 返回-1; num1 等于 num2 返回0
int string_cmp(char *c1, char *c2){
int s1 = strlen(c1), s2 = strlen(c2);
int i = 0, j = 0;
/* 去除前导零 */
while(i < s1){
if(c1[i] != '0')
break;
++i;
}
while(j < s2){
if(c2[j] != '0')
break;
++j;
}
/* 去除前导0后先比较长度 */
if(s1 - i > s2 - j)
return 1;
else if(s1 - i < s2 - j)
return -1;
/* 再逐个比较大小 */
while(i < s1){
if(c1[i] > c2[j])
return 1;
else if(c1[i] < c2[j])
return -1;
++i;
++j;
}
return 0;
}