如果(字符串s1的首地址大於字符串s2的首地址)
正確的應該是:
#include"stdio.h"
int f(char *a,char *b)
{
while(*a&&*b)
{
if(*a>*b) return 1;
else if(*a<*b) return -1;
else ++a,++b;
}
if(*a>*b) return 1;
else if(*a<*b) return -1;
else return 0;
}
int main()
{
char a[100],b[100];
while(1)
{
gets(a);
gets(b);
if(f(a,b)>0)
printf("%s is bigger than %s.\n",a,b);
else if(f(a,b)<0)
printf("%s is bigger than %s.\n",b,a);
else
printf("%s is the same with %s.\n",a,b);
}
return 0;
}
木有測試,不過大體思路就是這個樣子,將兩個字符串中的字符壹個壹個比較,直到結尾('\0').