1.strcmp��Դ��
2.strcmp函数源码
3.C语言函数strcmp(),码s码strcat(),strstr()实现 谢谢
4.ç¼åç¨åºscomp(char*s1,char*s2)
strcmp��Դ��
#include <stdio.h>
int strcmp(char *s1, char *s2)
{
while((*s1++ == *s2++)&& *s1);
return (*s1 - *s2);
}
void main()
{
char a[], b[];
gets(a);
gets(b);
printf("%d\n", strcmp(a, b));
}
strcmp函数源码
strcmp函数源码实现了一个字符串比较功能,用于比较两个字符串是源代否相等。
函数以两个参数开始:src和dst,码s码分别代表要比较的源代两个字符串。
函数首先定义了一个整型变量ret,码s码紫色能量源码用于存储比较结果。源代趋势知行指标源码
通过while循环,码s码程序逐字符地比较src和dst字符串的源代对应字符。循环条件是码s码当ret不等于0且dst和src不为空字符串时继续比较。
在循环内部,源代通过*(unsigned char *)src和*(unsigned char *)dst获取src和dst当前字符的码s码无符号字符表示。通过两者相减,源代得到当前字符的码s码张裕95溯源码ASCII值差值。
如果差值小于0,源代说明src当前字符小于dst,码s码返回-1。如果差值大于0,伊利牛奶溯源码说明src当前字符大于dst,返回1。否则,说明当前字符相同,通过源码分析pte继续比较下一个字符。
当src和dst遍历完所有字符后,跳出循环。如果此时ret仍等于0,说明src和dst完全相等,函数返回0。如果ret小于0,说明src字符串提前结束,函数返回-1。如果ret大于0,说明dst字符串提前结束,函数返回1。
总之,strcmp函数通过逐字符比较两个字符串,最终确定它们之间的关系。
C语言函数strcmp(),strcat(),strstr()实现 谢谢
int strcmp(char *s,char *t){
while(*s==*t&&*s){ s++;t++;}
return *s-*t;
}
char *strcat(char *s,char *t)
{
char *p=s;
while(*p) p++;
while(*p++=*t++)
return s;
}
char *strstr(char *s,char *t)
{
char *p1,*p2;
while(*s)
{
for(p1=s,p2=t;*p1==*p2&&*p2;p1++,p2++);
if(*p2=='\0') return(s);
s++;
}
return NULL;
}
ç¼åç¨åºscomp(char*s1,char*s2)
è¿æ¯Cè¯è¨æ ååºå½æ°strcmpçæºç ï¼
int strcmp ( const char * src, const char * dst )
{
int ret = 0 ;
while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
++src, ++dst;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
}