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");

    }

  • 相关阅读:
    简单工厂笔记
    P3369 【模板】普通平衡树 Treap树堆学习笔记
    tp5阿里云短信验证码
    centos 安装php
    tp6.0.2开启多应用模式
    linux navicat最新版过期
    git commit之后 取消commit
    服务器重置之后ssh root@报错
    git pull push 每次都需要输入账号和密码
    跨域问题 php
  • 原文地址:https://www.cnblogs.com/zhou2011/p/2226962.html
Copyright © 2011-2022 走看看