字符串相关(字符串数组,字符串处理相关函数、自实现函数)

//  main.c
//  字符串相关(字符串数组,字符串处理相关函数)
//
//  Created by fzl 
//  Copyright © fzl. All rights reserved.
//

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

/*指针数组*/
void test1()
{
    //字符串数组
    char string1[2][10]={"123","456"};

    //先算[],指针数组,每一个变量都是指针
    char *arr[3]={"123","456","678"};

    printf("%s\n",arr[0]);

}

/*strlen()函数和sizeof运算符的区别*/
void test2()
{
    /**
     *  strlen()计算字符串实际字符长度,不包括'\0'
     */
    /**
     *  sizeof()是计算变量所占字节大小
     */
    char string[10]="123456";

    int length=strlen(string);
    char *p="hello";

    printf("%lu\n",sizeof(p));
    printf("%lu\n",strlen(p));

    printf("%d\n",length);

}


 /*strcpy()字符串拷贝函数*/
void test3()
{
    char str1[10]="12233";
    char str2[10]="4565768";
    strcpy(str2, str1);
    printf("str2=%s\n",str2);
    /*
     不可以,试图改变文字常量的内容
     char *p="123";
     strcpy(p,"2345");
     */

    char str[10];
    strcpy(str, "1234");
    printf("str=%s\n",str);

}


 /* strcat()字符串连接函数*/
void test4()
{
    char str[10]="world";
    char str1[20]="hello";

    strcat(str1, str);
    printf("str1=%s\nstr=%s\n",str1,str);
}


 /* strcmp()字符串比较函数*/
void test5()
{    
    char str[10]="abcd";
    char str1[10]="ad";

    int a=strcmp(str, str1);

    printf("%d\n",a);

}


/* strncpy()*/
void test6()
{
    char str[10]="123";
    char str1[10]="456hello";
    strncpy(str1, str, 3);
    printf("str1=%s\n",str1);

}

/*strncat()*/
void test7()
{
    char str[10]="123";
    char str1[10]="456";
    strncat(str1, str, 1);

    printf("str1=%s\n",str1);

}

 /*strncmp()*/ 
void test8()
{
    char str[10]="123";
    char str1[10]="12";

    int a=strncmp(str,str1,2);

    printf("a=%d\n",a);
}
/**自定义strlen函数*/
int myStrlen(const char *string)
{
    int i=0;
    for (; *string!='\0'; i++)
    {
        string++;     
    }
    return i;
}

/**自定义strcpy()*/
void myStrcpy(char *dest,const char *source)
{

    int i=0;
    for (; *source!=0; i++)
    {
        *dest=*source;
        dest++;
        source++;
    }
    *dest='\0';

}

int main()
{

    char str[10]="124423";
    char str1[10];
    myStrcpy(str1,str);
    printf("str1=%s\n",str1);
    return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值