指针练习之字符串拷贝
一.题目要求
·题目
利用指针编写C程序,实现如下功能:
接收从键盘输入的一个字符串,并将其所有字符依次拷贝到另一字符串中,要求在拷贝的过程中每两个字符后增加一个*,完成拷贝后输出新字符串,并在输出完成后输出回车换行符表示结束。
·要求
如果该字符串已到末尾,则不再加*
·测试
样例输入1:ab2d3c
样例输出1:ab*2d*3c(末尾有回车换行)
样例输入2:ab2d3
样例输出2:ab*2d*3(末尾有回车换行)
样例输入3:ab*cde
样例输出3:ab**c*de(末尾有回车换行)
二.题目分析
- 分别用两个字符串指针指向两个数组,指针的自加表示数组元素的移动。
- 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);
}

浙公网安备 33010602011771号