CCK


私信TA

用户名:1049346696

访问量:831

签 名:

一个菜鸟的诞生日记

等  级
排  名 5246
经  验 1569
参赛次数 4
文章发表 4
年  龄 24
在职情况 在职
学  校 dgut
专  业 ce

  自我简介:

菜鸟的打怪之路,有志同道合的可以一起冲

解题思路:
一开始使用string.h的头文件,然后思考有没有不需要借用其他函数,自己进行可链接的函数,然后用指针想出下面的方法。仅仅是用指针的一种学习。


参考代码:

#include<stdio.h>
void main(){
	char a[100], b[100], c[200];   //定义三个字符数组
	char *p = gets(a);             //输入字符串a,并用p指针指向a
	char *q = gets(b);             //输入字符串a,并用q指针指向b
	char *sum = c;                 //用sum指针指向c
	/*接下来用指针进行读取*/
	/*这里有多种形式进行读写,注意指针的移动*/
	/*这里为了方便学习写出两种形式*/
	while (*sum++ = *p++){
		if (*p == '\0')
			break;
	}
	while (*q != '\0'){
		*sum++ = *q++;
	}
	*sum = '\0';      //简单说,为了让puts停止;可以把这一句删去看效果
	puts(c);          //输出链接后的字符串
}

当然了,这个是个人习惯的写法,这时候如果你杠题意,是写一个函数,然后调用,那么请看下面参考代码:

#include<stdio.h>
void strlink(char *p,char *q,char *sum);
void main(){
	char a[100], b[100], c[200];   //定义三个字符数组
	char *p = gets(a);             //输入字符串a,并用p指针指向a
	char *q = gets(b);             //输入字符串a,并用q指针指向b
	char *sum = c;                 //用sum指针指向c
	strlink(a,b,c);
	puts(c);          //输出链接后的字符串
}
void strlink(char *p,char *q,char *sum){
	while (*sum++ = *p++){
		if (*p == '\0')
			break;
	}
	while (*q != '\0'){
		*sum++ = *q++;
	}
	*sum = '\0';      //简单说,为了让puts停止;可以把这一句删去看效果
}


 

0.0分

4 人评分

  评论区

”不需要string.h这个头文件,也不要无脑gets,puts,而是真的有链接的效果“,这是我书写这段代码的最初想法。
2022-03-28 16:59:51
  • «
  • 1
  • »