當前位置:編程學習大全網 - 編程軟體 - 編程實現比較兩個字符串的大小

編程實現比較兩個字符串的大小

if(s1>s2)這句有問題.s1和s2不表示字符串的內容,他倆表示字符串在內存中存儲的首地址,所以if(s1>s2)的意思是

如果(字符串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').

  • 上一篇:VC++中MessageBox的用法
  • 下一篇:Java 集合測試題
  • copyright 2024編程學習大全網