c语言中strcmp函数的头文件
#include<stdio.h>
int strcmp(const char*s1,const char*s2)//函数返回int型,形参为两个指向char型的指针
{
while(*s1==*s2)//当元素相等时
{
if(*s1=='\0')//判断*s1是否为null,*s1是null意味着两个字符串相等(说明一直到字符串的末尾都相等)
return 0;
s1++;//指针依次后移
s2++;
}
return(unsigned char)*s1-(unsigned char)*s2;//如果*s1!=*s2,则用指针指向的*s1的当前字符减去指针指向*s2的当前字符。
}
int main(void)
{
char str1[128]="abcd";
char str2[128];
printf("str2:");scanf("%s",str2);
int tmp=strcmp(str1,str2);//函数的实参为两个字符串数组名称,相当于指向数组的首个元素的指针,(函数间数组的传递是以数组的第一个元素的指针进行的。)
if(tmp>0)
puts("str1 is greater than str2.");
else if(tmp==0)
puts("str1 is equal to str2.");
else
puts("str1 is less than str2.");
return 0;strcmp比较数组
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论