程序中使用指针保存两个字符串,然后通过指针递增的方法,依次比较两个字符串中的每一位所对应的ASCII码值。直到比较出结果。
#include <stdio.h> //头文件
#include <stdlib.h>
int cmp_string(char *s1,char *s2); //声明变量及函数
int main()
{
int ret;
char str1[80],str2[80]; //每个字符串最长八十个字符
printf("请输入一个字符串:");
gets(str1);
// scanf("%s",str1); //输入字符串1
printf("请输入另一个字符串:");
gets(str2);
// scanf("%s",str2); //输入字符串2
ret=cmp_string(str1,str2); //比较字符串
if (ret>0) //根据结果,输出
{
printf("第1个字符串大于第2个字符串!\n");
}
else if (ret<0)
{
printf("第1个字符串小于第2个字符串!\n");
}
else
{
printf("第1个字符串等于第2个字符串!\n");
}
system("pause");
return 0;
}
int cmp_string(char *s1,char *s2) //自定义函数
{
while(*s1)
if(*s1-*s2) //如果相等则继续比较,不相等返回差值,主函数根据差值判断哪一个字符串大
return *s1-*s2;
else
{
s1++;
s2++;
}
return 0;
}