学习第12天

C语言

1. 字符数组——用来存放字符数据、
   	1. char []
   2. 字符串和字符串字符结束标记、
      3. ——字符串结束标记
              	2. 为了测定一个字符串的实际长度
  1. 字符数组的输入输出、

    1. 输入字符串、

      1. scanf、

      2. char a[10];
        scanf("%s", a);
        printf("%s
        ", a);//会提示警告、原因是这是scanf旧的标准、vs编译器有新的标准、
        
      3. scanf解决方案、参考网上的讲解

      4. 、数组名本身就代表数组的起始地址、

  2. 字符数组串处理函数、

    1. %s——输出一个字符数组(字符串)、

    2. puts——将一个字符串输出、只能输出一个字符串、相当于printf(%s)、

    3. gets——字符数组名、输入字符串到数组中——只能输入一个字符、功能不及scanf

    4. strcat

      1. strcat( , )

      2. 起到连接作用、将字符串 , 后面的连接到前面、

      3. char a[10] = "wo";
        char b[10] = "shi";
        char c[10] = "shei";//只能使用两个、不能说使用c
        strcat(a, b);
        printf( a, b);
        
      4. 第一个字符串的字符必须足够大、足够连接后面的字符串即、a必须能放下b的内容、

      5. 连接时、两个 /0 变成一个——具体看内存

      6. 只能拷贝、不能赋值、不能将一个字符串常量或者字符数组直接赋值给一个字符数组、

      7. 是因为字符串不能直接赋值、所以才有了strat函数、

      8. 赋值≠初始化、

        1. 赋值——只能将一个字符赋值给一个字符型变量或者数组元素
    5. strcpy

      1. strcpy( , ),

      2. 将后面的内容填充到前面、前面的内容将被替换成后面的内容

      3. char a[10] = "wohenhao";
        char b[10] = "shi";
        strcpy(a, b);
        printf(a, b);//注意看内存、内存有enhao、只是shi替换woh
        
        
      4. a必须是字符数组(因为需要地址)、b是字符串(也可以是字符数组、也可以是字符串常量)、

      5. 拷贝是连同 /0 也一同拷贝

        1. strcmp( , )函数

          1. 比较前面字符串和后面字符串是否一样

          2. 比较内容、

          3. 如果前面=后面则返回——0

          4. 如果前面<后面则返回——正整数

          5. 如果前面>后面则返回——负数、

          6. 比较规则——对两个字符串从左到右逐字比较、表ASCII码值的大小、以出现第一个不同为依据、判断大小、

          7. 一般用于比较是否相同、

        int a;
        char b[10] = "woshi";
        char c[10] = "woshi";
        a = strcmp(b, c);
        printf("%d
        ",a);
        b==c//这样的比较是比较内存地址 、
        
        1. 、strlen

          1. 测试字符段长度的函数、遇到/0停止、不包括/0、

          2. sizeof——查询的是所占字节、而非内容的字节

        int a;
        int soa = sizeof(a);
        printf("%d", soa);
        
        
        1. strlen——和内容有关 、sizeof——和内容无关、

  3. char a[30]="woshishei";
    	printf("%s
    ", a);//————正常
    	a[3] = 'd';//————实验1——给予其它字符、
    	printf("%s
    ", a);//——结果——给予的字符替换替换了原先的字符
    	a[3] = '';//————实验2——给予结束字符
    	printf("%s
    ", a);//————结果————提前结束
    

原文地址:https://www.cnblogs.com/chengyaohui/p/13592108.html