zoukankan      html  css  js  c++  java
  • 字符串的拷贝

    1.地址访问方法:

    #include<stdio.h>

    int main()

    {

      char str1[] = "I love china",str2[20];

      int i;

      for (i = 0;*(a+i) != '\0';i++)

      {

        *(b+i) = *(a+i);

      }

      *(b+i) = '\0';

      printf("The string str1 are :\n",a);

      printf("The string str2 are:");

      for (i = 0;*(b+i) != '\0';i++)

      {

        printf("%c",b[i]);

      }

      printf("\n");

    }

    分析:首先上面的程序是通过地址访问其数组元素。第一个for循环语句中的条件检查a[i]或(*(a+i))是否是'\0',如果不是则说明字符串尚未处理完,就将a[i]赋值给b[i],实现复制一个字符串。最后for循环之外给b[i] = '\0'结束符。需要注意的是:第2个for循环中的printf("%c",b[i]),而当%s输出时,会出现不止一个字符串。

    2.指针变量处理

    #include <stdio.h>

    int main()

    {

      char a[] = "I love china",b[20];

      char *p1,*p2;

      int i;

      p1 = a;//使用指针时,必须先使p1和p2的值分别为字符串a和b第1个字符的地址

      p2 = b;

      for (;*p1 != '\0';p1++,p2++) // p1和p2的值不断改变,必须保证p1和p2同步移动

      {

        *p2 = *p1;

      }

      *p2 = '\0';

      for (i = 0;b[i] != '\0';i++)

      {

        printf("%c",b[i]);  

      }

      printf("\n");

    }

  • 相关阅读:
    我到 vim 配置文件---------修改从---http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html
    Bayer图像处理
    Ubuntu 12.04下安装OpenCV 2.4.2
    vim寄存器与复制粘贴的实现
    window 驱动
    js 面试题
    angular 写的一个分页功能
    angular scope 方法
    avalon 框架
    贴几个常用的基础函数
  • 原文地址:https://www.cnblogs.com/zhou2011/p/2226962.html
Copyright © 2011-2022 走看看