编写函数strcmp()用主函数调用实现两个字符串的比较的C 程序怎么编
编写函数strcmp()用主函数调用实现两个字符串的比较的C 程序怎么编
LZ问题不是很明确,因为strcmp()本身是字符串处理函数,不知道你是想问这个函数的运用方法还是自己想编一个可以实现此功能的被调函数。两个都跟你说了吧。
1.关于strcmp()作为字符串处理函数的运用。
1)在运用时首先要在源程序开始时加上#include<string.h>头文件。
2)函数使用格式:
strcmp(str1,str2);
strcmp("china","korea");
strcmp(str1,"beijing");
以上三雹余种格式均可以使用。
3)规则:对两个字符串自左向右逐个字符相比,按ASCII码值的大小进行比较。直到出现不同的字符或遇到'\0'为止。如果字符全部相同则认为相同,若出现不相同的字符,则以第一个不相同的字符的比较结果为准。
4)返回值:若相等,函数返回值为0;若STR1>STR2则返回一个正整数;若STR1<STR2返回一个负整数。
5)注意:
在c语言中两个字符串的比较不能用:
if(str1==str2) printf("yes");
而只能用:
if(strcmp(str1,str2)==0) printf("yes");
2.如果你想实现函数的调用。
1)建议你的函数名改一下,最好不要和系统已经有的函数名冲突。
2)主调函数与被调函数之间桐肆烂无非就是传值。
这是我刚才编的函数调用的方法:
#include <stdio.h>
strcmp(char str1[],char str2[])
{
while((*str1!='\0')&&(*str2!='\0'))
{
if(*str1==*str2)
{
str1++;
str2++;
}
else
break;
}
if((*str1=='\0')||(*str2=='\0'))
printf("yes\n");
else
printf("no\n");
}
void main()
{
char str1[]="kakashi";
char str2[]="naruto";
strcmp(str1,str2);
}
希望我局漏的回答能对你有所帮助。
拿去用,这就是C版本的库函数strcmp具磨漏旁体瞎橡实现,绝对权威!
比较字符串src和搜禅dst
1. src > dst 返回1
2. src = dst 返回0
3. src < dst 返回-1
int strcmp(char* src , char* dst)
{
int ret = 0 ;
while( ! (ret = *src - *dst) && *dst)
++src, ++dst;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return ret ;
}
int strcmp(const char *s1,const char *s2)
{
while (*s1&&*s2&&*s1==*s2)
s1++,s2++;
return *s1-*s2;
}