指针练习之字符串拷贝

一.题目要求

·题目

利用指针编写C程序,实现如下功能:
接收从键盘输入的一个字符串,并将其所有字符依次拷贝到另一字符串中,要求在拷贝的过程中每两个字符后增加一个*,完成拷贝后输出新字符串,并在输出完成后输出回车换行符表示结束。

·要求

如果该字符串已到末尾,则不再加*

·测试

样例输入1:ab2d3c
样例输出1:ab*2d*3c(末尾有回车换行)
样例输入2:ab2d3
样例输出2:ab*2d*3(末尾有回车换行)
样例输入3:ab*cde
样例输出3:ab**c*de(末尾有回车换行)

二.题目分析

  1. 分别用两个字符串指针指向两个数组,指针的自加表示数组元素的移动。
  2. if语句判断指针是否移动到数组1的末尾。

三.代码实现

#include <stdio.h>
#include <string.h>
int main() {
	char array[10]="\0", copy[15]="\0";
	char* p1 = array, * p2 = copy;
	int i = 0, j = 0,n;
	gets_s(array, 9);
	n = strlen(array);
	while (*p1 != '\0') {
		*p2++ = *p1++;
		i++;
		if ((i % 2==0) && (i != n)) {
			* p2++ = '*';
		}
	}
	printf("%s\n", copy);
}
posted @ 2021-05-23 16:43  酸柚子sour  阅读(428)  评论(0)    收藏  举报
Akizuki-Kanna