C语言之字符串的连接使用指针和调用函数两种方法

简介: C语言之字符串的连接使用指针和调用函数两种方法

下面程序的功能是将两个字符串 s1和 s2连接起来

方法一:

代码如下所示:

int link(char* p1, char* p2)
{
  while (*p1)//对字符串1进行遍历
    p1++;
  while (*p2)//对字符串2进行遍历
  {
    *p1 = *p2;
    p1++, p2++;
  }
  *p1 = '\0';//字符串的结束标志不要忘记加
}
int main()
{
  int link(char* p1, char* p2);
  char s1[80], s2[80];
  gets(s1);//从键盘输入字符串
  gets(s2);
  link(s1, s2);
  puts(s1);
}

输出结果如下所示:

方法二:

代码如下所示:

join(char s1[80],char  s2[40])
{
  int i=0, j=strlen(s1);//变量j代表s1原始的长度
  for (i = 0; s2[i] != '\0'; i++)//通过for循环将str2添加到str1
    s1[i + j] = s2[i];//str2增加到str1中,其结果是被连接在str1的后面,因此它的首地址即为s2[0+j]
  s1[i + j] = '\0';//字符串的结束标志
}
main()
{
  char s1[80], s2[40];
  gets(s1);
  gets(s2);
  join(s1, s2);
  puts(s1);
}

输出结果如下所示:

相关文章
|
11天前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解
|
7天前
|
Java
指针赋值的几种方法
指针赋值的几种方法
|
6天前
|
搜索推荐 程序员 C语言
指针赋值与引用传递:C语言的基础知识与实践技巧
指针赋值与引用传递:C语言的基础知识与实践技巧
|
11天前
|
存储 C语言 C++
指针进阶(函数指针)(C语言)
指针进阶(函数指针)(C语言)
|
11天前
|
编译器 C语言
指针进阶(数组指针 )(C语言)
指针进阶(数组指针 )(C语言)
|
12天前
|
C语言
c语言左旋字符串问题(不同方法超详细解答)
c语言左旋字符串问题(不同方法超详细解答)
8 1
|
13天前
|
C语言
【C语言】:详解函数指针变量,函数指针数组及转移表
【C语言】:详解函数指针变量,函数指针数组及转移表
14 2
|
13天前
|
C语言
【C语言】:详解指针数组,数组指针及(二维)数组传参(2)
【C语言】:详解指针数组,数组指针及(二维)数组传参(2)
10 1
|
13天前
|
Serverless C语言
【C语言】:对(一维)数组与指针的深入理解(1)
【C语言】:对(一维)数组与指针的深入理解(1)
10 1