可以使用strcmp函数,其包含在string.h中。
原型:extern int strcmp(char *s1,char * s2);
用法:#include <string.h>
功能:比较字符串s1和s2
说明:当s1<s2时,返回值<0;当s1=s2时,返回值=0;当s1>s2时,返回值>0
也可以自己编写一个函数。
#include <stdio.h>
#include <string.h>
int main() {
char *s1A="abc",*s1B="abc";
char *s2A="abcd",*s2B="abcde";
puts ("使用strcmp函数");
printf ("s1A=%s、s1B=%s\n",s1A,s1B);
if (strcmp (s1A,s1B) == 0)
printf ("s1A与s1B相同!\n");
else
printf ("s1A与s1B不同!\n");
putchar('\n');
printf ("s2A=%s、s2B=%s\n",s2A,s2B);
if (strcmp (s2A,s2B) == 0)
printf ("s2A与s2B相同!\n");
else
printf ("s2A与s2B不同!\n");
putchar('\n');
puts ("使用自定义strCompar函数");
printf ("s1A=%s、s1B=%s\n",s1A,s1B);
if (strCompar (s1A,s1B) == 1)
printf ("s1A与s1B相同!\n");
else
printf ("s1A与s1B不同!\n");
putchar('\n');
printf ("s2A=%s、s2B=%s\n",s2A,s2B);
if (strCompar (s2A,s2B) == 1)
printf ("s2A与s2B相同!\n");
else
printf ("s2A与s2B不同!\n");
putchar('\n');
return 0;
}
/*两字符串相同返回1;不同返回0*/
int strCompar (char *s1, char *s2) {
while (*s1||*s2) {
if (*s1++!=*s2++)
return 0;
}
return 1;
}
运行结果
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/ac6eddc451da81cb2c800c535866d016082431cd?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
追答最初回答中的自定义函数写错了!现已修正!题主在电脑端的页面上看到的就是最新正确的内容了!