#include <stdio.h> int strnumcmp(char str1[], char str2[]){ int n=0; int t1=0; int t2=0; while( *str1 && !(n=(*str1)-(*str2)) ){ str1++; str2++; } while( (*str1)<='9' && (*str1)>='0' ){ t1=t1*10+(*str1-0x30); str1++; } while( (*str2)<='9' && (*str2)>='0' ){ t2=t2*10+(*str2-0x30); str2++; n=t1-t2; } return n; } void main(){ char a[]="abc2"; char b[]="abc100"; if( strnumcmp(a,b)>0 ){ printf("%s>%s\n",a,b); }else if( strnumcmp(a,b)==0 ){ printf("%s=%s\n",a,b); }else{ printf("%s<%s\n",a,b); } }
這是一道筆試題目:編寫 strnumcmp 函數,"abc100">"abc2",其他功能同strcmp函數。