zoukankan      html  css  js  c++  java
  • 使用C语言实现strcpy函数和字符串大小写交换

    1.使用C语言完成strcpy函数

    #include<stdio.h>
    #include<assert.h>
    #include<string.h>
    
    char *Strcpy(char *dest,const char *src)
    {
         assert((src == NULL)||(dest == NULL)    错误的示范//if((src == NULL)||(dest == NULL))
            
    return NULL;  //对函数的参数进行检查时需要使用assert函数
    if(dest == src)//如果AB串已经是相同的了    
        return dest;
        char *addr = dest;
            while(*src != '')    //或者使用while((*dest++=*src++)'');
            {                注意这样使用 就已经在dest串的结尾加上了
                *dest = *src;    
                dest++;
                src++;
            }
                *dest = '';//当所有的字符都已经赋值就在最后面位置加上
                return addr;
    }
    //既然已经实现了拷贝 为什么要返回一个char *的指针 //主要是为了实现链式调用 例如这种情况 Strcpy(Dest,Strcpy(Dest1,Src))
    int main() { char arr1[] = "hello linux"; char arr2[] = "xiao zou"; printf("before arr1 =%s ",arr1); printf("before arr 2=%s ",arr2); Strcpy(arr1,arr2); printf("after arr1 = %s ",arr1); }

    运行结果:

    2.使用C语言完成字符串大小写交换

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    char *ctoC(char *str)
    {
        assert(str==NULL)
        return NULL;
        char *res = str;
        while(*str!='')
        {
            if(*str>='a' &&*str<='z')//当首字符是a-z
                *str-=32;
            else if(*str>='A' &&*str<='Z')
                *str+=32;
            *str++;  //指针向后移动
        }
        return res;
    }
    
    int main()
    {
        char buf[10];
        scanf("%s",buf);
        char *buf1 = ctoC(buf);
        printf("res =  %s
    ",buf1);
    }

    运行结果:

     

  • 相关阅读:
    ♫【网站优化】
    ☀【html】锚点
    ↗☻【PHP与MySQL动态网站开发(第4版本) #BOOK#】第1章 PHP概述
    _#【jQuery插件】Carousel 传送带
    _#【jQuery插件】Autocomplete 自动补全
    【兼容】ie6 hover
    【兼容】ie6/ie7 overflow:hidden;失效
    Online Mono for Android training now available in Spanish
    MonoDevelop 3.0.4 发布啦!
    猴子选大王的四种VB解法
  • 原文地址:https://www.cnblogs.com/xiaozoui11cl/p/13224452.html
Copyright © 2011-2022 走看看