“string.h“库函数中关于字符串的函数

在字符串中除了输入输出外,还有四个常用的函数,接下来我么来看一下它们的功能和用法。

  1. strlen(求字符串长度)

功能:统计字符串str中实际字符的个数。

用法:strlen(str)(其中str是字符串)

通常在程序中会设一个int型len来接住它(len=strlen(str))

重点:取长度的时候不会把字符串中的\0算到里面去,如果要算数组的总长度就用sizeof(str)

  1. strcpy(字符串复制函数)

功能:将字符串2复制到字符串1中,包括字符串结束符而且会覆盖原字符串1中对应位置的字符

用法:strcpy(str1,str2)(其中str1可以认定为目标串,str2可以认定为原串)

最好目标串和原串设的长度一样

  1. strcat(字符串连接函数)

功能:将字符串2连接到字符串1后面,(连接位置从字符串1中的字符串结束符‘\0’开始,连接 完自动加上‘\0’结束符)

用法:strcat(str1,str2) 其中str1必须为字符数组名或者字符指针,str2可以为字符数组名、字符 指针或者字符串常量

(str1的长度足够大,能够容纳str2对应的字符串连接之后所产生的新的字符串,否则会出现错误)

  1. strcmp(字符串比较函数)

字符串的比较运算不能通过关系运算所以只能用这个函数,所以是一个很重要的函数一定要掌握

功能:比较str1与str2的大小,若str1小于str2则函数返回值为负数;若等于则返回0;若大于则返 回正数。

比较规则:从第一个字符开始,将两个字符串对应位置上的字符按照ASCII码值进行比较,直到 出现第一个不同的字符或者字符串结束符为止。这两个不相同的字符的ASCII码值大 小决定其所在串的大小。若同时遇到字符串结束符则以为这这两个字符串相等。

从这个函数中又衍生出一道题目那就是“回文”

来我们看一下题目:编程实现字符串是否回文的判断。

#include <stdio.h>
#include <string.h>

int IsPalin(char *string2)
{
    char str1[30];
    strcpy(str1,string2); 
    int flag=0,len=0;
    int i=0,j=0,k; 
    len=strlen(string2)-1;
    for(i=0;i<len;i++,len--)        
    {
        k=str1[i];                    //利用新的字符串进行收尾对称交换形成一个新的字符串
        str1[i]=str1[len];
        str1[len]=k;
    }
    if(strcmp(str1,string2)==0)      //用新的字符串与原字符串进行比较==0则为相同的所以是回文
    
        flag=1;
    
    else
    
        flag=0;
    
    return flag; 
}
 
int main()
{
    char str[30];
    int n;
    printf("请输入字符串:\n");    
    gets(str); 

    n=IsPalin(str);
    if(n==1)
    {    
        printf("字符串%s是回文。",str);
    }
    else
    {
        printf("字符串%s不是回文。",str);
    }
    
       return 0;    
}

OK,这就是今天的内容,加油!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值