zoukankan      html  css  js  c++  java
  • sicily 6766. tmp

    1003. tmp

    Description
    Implement the following function, which copy string from b to a
    void my_strcpy(char* a, char* b)

    Input
    none

    Output
    none

    Hint

    #include <string.h>
    #include <stdio.h>
    
    int main()
    {
     char str_a[100] = "123456";
     char str_b[100] = "123456";
     
     my_strcpy(str_a + 1, str_a );
    
     if( strcmp(str_b, str_a+1) == 0 ){
      printf("YES\n");
     }
     else{
      printf("NO\n");
     }
    
     return 0;
    }

    从名字坑爹到题目内容的一题,跟玩猜谜一样……

    意思就是要你写一个拷贝字符串的函数,用hint里那个主函数测试,可以输出YES的话交上去就能过(大概)。因为hint的那个主函数测试用例比较特别,是把字符串str_a拷贝一遍,然后从从第二个元素开始覆盖过去,也就是拷贝完str_a其实是1123456,所以在拷贝函数里不能直接用指针把b的值赋给a然后一起移动就算了,需要开一个中间数组临时存放拷贝的值,不然最后拷贝出的字符串会全被拷贝源最初指向的的字符覆盖。如果拷贝成功,把b和str_a+1用strcmp函数比较的话返回值就是0,说明两个字符串长度相同(因为str_a是从str_a+1,就是第二个元素开始数起的)

    View Code
     1 void my_strcpy( char *a, char *b )
     2 {
     3     int i;
     4     char temp[100] = {0};
     5     char *ptr = temp;
     6     
     7     for ( i = 0; *(b + i) != '\0'; i++ )
     8     {
     9         *(ptr + i) = *(b + i);
    10     }
    11     
    12     for ( i = 0; *(ptr + i) != '\0'; i++ )
    13     {
    14         *(a + i) = *(ptr + i);
    15     }
    16     
    17     return;
    18 }
  • 相关阅读:
    IDEA 配置
    从一个多项目Web工程看Eclipse如何导入Gradle项目
    mac java环境变量配置
    gradle多项目构建及依赖
    gradle新建工程,多项目依赖,聚合工程
    JSTL的一些使用规范,坑
    mysql主从配置
    windows系统常用软件及配置介绍
    mac必装工具以及mac使用介绍
    一种480 MHz无线数传模块的设计
  • 原文地址:https://www.cnblogs.com/joyeecheung/p/2813698.html
Copyright © 2011-2022 走看看