c語言字元大小比較
㈠ c語言:用指針實現字元串大小的比較,應該怎樣做呢
字元串比較,可採用循環遍歷字元串,用對應位置的指針所指向的字元進行比較,當相等時,循環,遇到不等或其中一個字元串結束時,結束循環,返回對應指針的對應的字元的差值,根據差值判斷兩個字元串的大小:
返回值大於0,則前串大,
返回值小於0,則前串小,
返回值等於0,兩個字元串相等。
參考代碼:
#include<stdio.h>
int stringcompare(char *a,char *b)
{
while( *a && *a == *b )
{
a++;
b++;
}
return *a-*b ;
}
int main()
{
int ret;
char a[10];
char b[10];
printf("請輸入字元串a: ");
gets(a);
printf("請輸入字元串b: ");
gets(b);
ret=stringcompare(a,b);
if ( ret > 0 )
printf("a>b\n");
else if ( ret < 0 )
printf("a<b\n");
else
printf("a=b\n");
system("pause");
return 0;
}
運行結果:
請輸入字元串a:
abcde
請輸入字元串b:
acd
a<b
請輸入字元串a:
acd
請輸入字元串b:
abcde
a>b
請輸入字元串a:
abc
請輸入字元串b:
abc
a=b
㈡ 編寫一個C語言函數,比較兩個字元串的大小
#include<stdio.h>
#define N 100
int input(char*a,char*b)//輸入兩個字元串
{
printf("Input the first information: ");
fgets(a,N,stdin);
printf("Input the secend information: ");
fgets(b,N,stdin);
}
int my_strcmp(char*a,char*b)//比較字元串每個字元的大小
{
while((*a!='