首页 > 其他分享 >字符串相关函数、二维数组-

字符串相关函数、二维数组-

时间:2024-08-02 08:59:37浏览次数:12  
标签:int s1 char 二维 数组 字符串 include

目录

strcpy--字符串复制函数

strcat--字符串拼接函数

strcmp--字符串对比函数

字符串相关函数:

二维数组

初始化:


strcpy--字符串复制函数

char *strcpy(char *dest, const char *src);
功能:
    将src中字符串拷贝到dest中 

用法:
  strcpy(dest,src); //dest是一个字符数组的数组名
                 //src 可以是字符数组数组名
                 //或 字符串常量 

操作逻辑:由于数组是不能整体赋值的,所以需要单个元素赋值,也就是说逐个替换
注意:如果复制的字符串长度超过数组的自身长度,则数组可能会破坏栈的完整性。

 1 #include <stdio.h>
  2 #include <string.h>
  3 int main()
  4 {
  5     char s[]={"hello world"};
  6     char s1[5]={};                                                                                                                                                   
  7 
  8     strcpy(s1,s);
  9 
 10     printf("%s\n",s1);
 11     return 0;
 12 }
 13 

strcat--字符串拼接函数

 char *strcat(char *dest, const char *src);
 功能:
    将src中的字符串拼接到dest中
 参数:
    @dest 拼接的目的字符串 
    @src 拼接的源字符串 ,可以是变量也可以是常量

操作逻辑:逐个查找字符串元素,直到第一个'\0'时插入第一个元素,

并按顺序插入整个字符串,最后在末尾添加结束标志'\0'

注意:拼接时注意不要超过原有设定的数组长度大小,会导致破坏栈的完整性。如下:

  1 #include <stdio.h>
  2 #include <string.h>
  3 int main()
  4 {
  5     char s[100] = {"hello"};                                                                                                                                         
  6     char s1[] = {"world"};
  7 
  8     strcat(s,s1);
  9 
 10     printf("%s\n",s);
 11     strcat(s,"world");
 12 
 13     printf("%s\n",s);
 14 
 15     return 0;
 16 }
~        

自写用c语言完成拼接函数功能:关键主要是检测字符串结束标志位  ' \0 '  来确定。(重点:结束符的应用)

  1 #include <stdio.h>
  2 int main()
  3 {
  4     char s[] = {"hello"};
  5     char s1[] = {"world"};
  6     int i,j;
  7 
  8     i = 0;
  9     j = 0;
 10     do
 11     {
 12         i++;
 13 
 14     }while(s[i]!='\0');
 15 
 16     while(s1[j]!='\0')
 17     {
 18         s[i] = s1[j];
 19         j++;
            i++;
 20     }
 21 
 22     s[i+j+1] = '\0';                                                                                                                                                 
 23 
 24     printf("%s\n",s);
 25     return 0;
 26 
 27 }
~         

strcmp--字符串对比函数


 int strcmp(const char *s1, const char *s2);
 功能:
     比较字符串大小 
 参数:
  s1  //字符串 
  s2  //字符串 
     数组名 
     字符串常量 
     
返回值: //最后 停的位置上字符的差值 来反映大小 
  s1 > s2  // >0  1 
  s1 == s2 // 0 
  s1 < s2  // <0  -1   //最后的返回值是ASCIIzhi之差

用c语言实现字符串对比功能:最主要是while中判断条件

字符串相关函数:

1.gets                       //获取字符串
2.puts                         //输出字符串
3.strlen                      //计算字符串长度
4.strcpy / strncpy      //复制字符串长度
5.strcat / strncat        //拼接字符串
6.strcmp / strncmp    //比较字符串大小

二维数组

初始化:

 int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};  //全部初始化
 int a[3][4] = {{1,2,3,4},{0},{9,10,11,12}}; //按行初始化,其余位置补0
 int a[3][4] = {1,2}; //部分初始化 -
 int a[3][4] ;//未初始化 默认随机值(垃圾值) 

 放在循环里 循环赋值  scanf("%d",a[i][j]);

注:
   1.二维数组中,也可以是可变长数组
     int a[n][n]; //n可以是个变量 ,但是使用时,数组不能初始化,产生编译报错

     int  a[N][N];//但是可以使用宏定义 #define N 4
   2.二维数组中,可以省略行数,列数不能省略 
    int a[3][4];
    //3可以省略 4不能省略 
    int[4] a[]; //本质上省略的还是一维数组的长度 

循环赋值给二维数组,循环打印二维数组数据

  1 #include <stdio.h>
  2 #include <string.h>
  3 int main()
  4 {
  5     int a[3][3];
  6     int i,j;
  7 
  8     for(i = 0;i<3;i++)
  9     {
 10         for(j=0;j<3;j++)
 11         {
 12             scanf("%d",&a[i][j]);                                                                                                                                    
 13         }
 14     }
 15 
 16     for(i = 0;i<3;i++)
 17     {
 18         for(j=0;j<3;j++)
 19         {
 20             printf("%3d",a[i][j]);
 21         }
 22         putchar('\n');
 23     }
 24 
 25 
 26 
 27     return 0;
 28 }
~          

标签:int,s1,char,二维,数组,字符串,include
From: https://blog.csdn.net/2201_75286049/article/details/140821451

相关文章

  • 数组part02
    2024年8月1日,今天学习了数组的第二部分。1.巩固了昨天的双指针问题,即滑动窗口/双指针;注意,双指针是为了减少for循环,使用的时候小心循环的写法和快慢指针的增长方法。2.学习了数组模拟的螺旋矩阵问题,注意循环不变量;3.学习了前缀和的方法,前缀和常用来解决区间和问题,其实是避免重复......
  • js slice 截取数组使用
    slice()是JavaScript中用于提取数组的一部分或字符串的一部分的方法。slice()不会修改原始数组或字符串,而是返回一个新数组或字符串。对于数组语法:array.slice(begin,end)begin:要提取的起始索引(包含)。如果省略,默认从索引0开始。end:要提取的结束索引(不包含)。如果省略......
  • js splice使用,增删数组操作方式
    splice是JavaScript数组对象的一个方法,用于增删数组中的元素。它的基本语法如下:array.splice(start,deleteCount,item1,item2,...)start:指定开始修改的位置索引。deleteCount:可选,指定要删除的元素个数。如果为0,则不删除元素,只插入新元素。item1,item2,...:可选,要插......
  • 数组的合并
    /*数组A:1,7,9,11,13,15,17,19;数组b:2,4,6,8,10两个数组合并为数组c,按升序排列。*/publicclassTest5{publicstaticvoidmain(String[]args){int[]arr1={1,7,9,11,13,15,17,19};int[]arr2={2,4,6,8,10};//1、创建一个新数......
  • javascript学习 - 数组应用
    什么是数组之前的学习中,如果我们要存储一个值,一般都是通过变量来存储。但如果我们现在想要存储一系列的值,又该如何存储呢,你可能会说可以用多个变量来进行存储。这种方法也可以,但如果你想,一旦值过多,那岂不是就要多个变量,到时候管理就很混乱了。这时候就想,有没有一个可以存储......
  • 重头开始嵌入式第八天(字符串,二维数组)
    今天继续介绍字符数组以下是一些常见的C语言字符串处理函数的介绍、函数本体、返回值、用法及实现示例: 以下是 puts 和 gets 函数的介绍、函数本体、返回值、用法及实现示例:字符处理函数puts() 函数-函数意思:将字符串输出到标准输出(通常是屏幕)并换行-函数......
  • py调用webservice array数组老是为空的问题
    pythonwebserbiceserverimportloggingfromflaskimportFlaskfromspyne.applicationimportApplicationfromspyne.protocol.soapimportSoap11fromspyne.server.wsgiimportWsgiApplicationfromwerkzeug.servingimportrun_simplefromwerkzeug.middleware......
  • 11:Python字符串的魔法属性2
    test='alex'v=test[2]#索引,下标,获取字符串中的某一个字符print(v,-1)test='alexsasdf'v=test[0:3]#0=<v<3print(v,-2)v1=test[0:-1]#切片print(v1,-3)v2=len(test)print(v2,-4)v3=len("我是中国人")#len获取当前字符串中由几个字符组成,python2......
  • 正则表达式:有没有一种方法可以提取单引号之间的所有子字符串,而不提取撇号之间的子字符
    基本上,我有一个包含英语语句的数据集。有些语句包含前导/尾随标点符号,所以我想清理和标准化它们。标准化的标准是删除所有前导/尾随标点符号,语句的第一个字符大写,并且语句以句点结尾。我有一个函数可以执行此操作并将其应用于数据集中的每一行。如果有帮助的话,这里是一个代码......
  • 【笔记】字符串选讲 2024.8.1
    [COCI2015-2016#5]OOP(Trie)P6727[COCI2015-2016#5]OOP-洛谷|计算机科学教育新生态(luogu.com.cn)正反串分别建Trie,可以搞出两个dfn区间,加之长度限制,三维数点。有\(O(n\logn)\)做法。将字典串\(S[1..m]\),对所有\(1\leqi\leqm\),将\(S[i+1,m]\)的hash值插入......