strncmp -- 比较字符串(受限)
strncmp 函数文档函数概要:
strncmp 函数用于比较两个字符串的前 n 个字符。
该函数从第一个字符开始,依次比较每个字符的 ASCII 码大小,发现两个字符不相等或抵达结束符('\0')为止,或者前 n 个字符完全一样,也会停止比较。
函数原型:
#include <string.h>
...
int strncmp(const char *s1, const char *s2, size_t n);
参数解析:
参数含义
s1 指向待比较的字符串 1
s2 指向待比较的字符串 2
n 指定待比较的字符数
返回值:
返回一个整数表示两个字符串的关系:
返回值含义
< 0 字符串 1 的字符小于字符串 2 对应位置的字符
0 两个字符串的内容完全一致
> 0 字符串 1 的字符大于字符串 2 对应位置的字符
演示:
#include <stdio.h>
#include <string.h>
int main()
{
char str1 = "FishC";
char str2 = "FishC.com";
if (!strncmp(str1, str2, 5))
{
printf("str1和str2前5个字符相同!\n");
}
else
{
printf("str1和str2前5个字符不同!\n");
}
return 0;
}
版权归鱼C工作室(www.fishc.com)所有,转载请注明来源!
小甲鱼老师 我想问问 strcmpi strncmp strnicmpstrcmp这四个函数有什么区别 其中两个是比较字符串大写小 我就纳闷这四个比较函数有什么不同的 学习{:9_219:} 打卡 {:10_260:} {:10_265:} {:10_257:} YA 打卡
#include <stdio.h>
#include <string.h>
int charcmp(char str1[], char str2[] , int i);
int main()
{
charcmp("h1", "j1" , 2);
return 0;
}
int charcmp(char str1[] , char str2[] , int i ) {
int x1, x2 , 计次 = 0 , fhz = 0;
x1 = sizeof(str1 - 1); x2 = sizeof(str2 - 1); //获取字符长度
for (; 计次 <= i; 计次++) { //被比较字符 大于 比较字符
//printf("计次 %d\nstr1:%d\nstr2:%d\n",计次 , str1[计次], str2[计次]);
if (str1[计次] == str2[计次]) { //两个字符相等
continue;
}
else if(str1[计次 ] != str2[计次]){///两个字符不相对相等
if (str1[计次 ] > str2[计次 ]) {
fhz++;
printf("fhz++ :%d",fhz );
}
else
{
fhz--;
printf("fhz-- :%d", fhz);
};
continue;
}
}
printf("%s | %s", str1, str2);
if (fhz == 0) {
printf("输入的字符串相等");
}
else {
printf("输入的字符串不相等");
};
return fhz;
} {:10_257:} {:10_279:}
页:
[1]