zoukankan      html  css  js  c++  java
  • 七、字符串

    字符串
    一个字符串 "helloworld" 代码中用双引号括起来
    "你好世界" 一个中文 算两个字符
    字符数组 char str[128]; 存放字符串
    一般赋值字符串的方式 char str[128]={"helo world"};

    特殊之处 所有字符串 用''作为字符串结尾
    存放字符串默认都会补上一个

    转义字符

    输入输出
    printf %s 对于字符串的输出
    scanf 输入完会在后面自动加上一个
    scanf_s("%s",str,128);//后面加上一个大小 限制输入的长度

    char arr[]="hello world"; //大小由内容撑开 最后有一位''所以数组大小为12
    char mystr[20]="helloworld";//考虑字符串只考虑前面 后面当做无效内容

    scanf("%s",str);//%s用数组名 不需要额外的加上取地址
    gets(str);
    //和scanf的区别 scanf遇到空格 都会结束输入
    //gets只有遇到回车才会结束输入
    gets_s(str,128);//vs2017以上的版本只能有gets_s

    printf("%s",mystr);//输出一串内容 而不是一个字符串 所以用数组名


    专门用于字符串的输入输出字符
    gets和puts

    求字符串长度 strlen() 求前面有效字符的个数(不算入字符串长度中)
    int brr[40];
    sizeof(brr) 求数组的大小 40*4=160
    sizeof(brr)/sizeof(brr[0]); 数组里元素的个数 未必是字符的大小

    字符串拷贝 把一个字符串拷贝到另外一个位置 string 字符串 copy 拷贝
    strcpy(str,"hello") 后面的字符串拷贝到前面的字符数组当中
    数组 h e l l o

    字符串链接函数 strcat(str,"hello") 将后面的字符串链接到前面的字符串后面

    字符串比较函数 strcmp compare 比较两个字符串是否一致
    strcmp(字符串1,字符串2)==0 两个字符串一致

    strcpy strcat 把一个字符串拷贝串联到另一个位置 考虑越界的问题
    数组大小>字符串长度

    只管前面有效字符的个数 后面无效字符不用管

    strstr 判断子串 其中的字符串是一个字符串的子串 strstr(字符串,子串) 正确返回1 错误返回0

    strchr 判断字符串中是否包含字符 strchr(字符串,字符)

  • 相关阅读:
    CF833B The Bakery (线段树+DP)
    NOIP 2017 时间复杂度 (模拟)
    NOI 2018 屠龙勇士 (拓展中国剩余定理excrt+拓展欧几里得exgcd)
    中国剩余定理(excrt) 模板
    后缀自动机 模板
    luogu P4248 [AHOI2013]差异
    luogu P3975 [TJOI2015]弦论
    luogu P4770 [NOI2018]你的名字
    luogu P3726 [AH2017/HNOI2017]抛硬币
    luogu P3722 [AH2017/HNOI2017]影魔
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/11746673.html
Copyright © 2011-2022 走看看