• 字符串的拷贝


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

    }

  • 相关阅读:
    ptyhon异步开发aiohttp
    python异步编程asyncio
    python ThreadPoolExecutor线程池和ProcessPoolExecutor进程池
    liunx 使用flask + nginx + gunicorn 部署项目
    liunx安装python3.6.8
    Grafana设置mysql为数据源
    使用pyhdfs连接HDFS进行操作
    七、Hadoop搭建Hbase
    六、Zookeeper运行环境
    五、Hadoop搭建Hive
  • 原文地址:https://www.cnblogs.com/zhou2011/p/2226962.html
Copyright © 2020-2023  润新知