C语言:字符串API_拼接strcat(),比较strcmp()

1.字符串的拼接:strcat()

原型:char *strcat(char *dest, const char *src)

	 char *strSrc = "初入门";
     char test[128] = "学习C语言之路----";
   	
   	 strcat(test,strSrc);
     puts(test); 

2.字符串的比较:strcmp()

原型:int strcmp(const char *s1,const char *s2)

strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。

    char *str1 = "123"; //ascii的和
    char *str2 = "123";

1.第一种比较写法 
    int ret = strcmp(str1,str2); 
    printf("ret = %d\n",ret);
    if(ret == 0){
		printf("两个字符串一样\n");
    }
    
2.第二种比较写法 
	if(strcmp(str1,str2) == 0){
		printf("两个字符串一样\n");
    }
    
3.第三种比较写法 
	if(!strcmp(str1,str2)){				这里的!是取反的意思。可以理解为0变非0,非00
		printf("两个字符串一样\n");
    }

特别注意:strcmp() 这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。

规则
当s1<s2时,返回为负数;
当s1=s2时,返回值= 0;
当s1>s2时,返回正数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止。如:
1.“A”<“B” 2.“A”<“AB” 3.“Apple”<“Banana” 4.“A”<“a” 5.“compare”<“computer”

ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。
1.当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。
2.有些会把两个字符的ASCII码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枕上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值