c语言指针实现3、有一字符串,包含口个字符。写一两数,将此字符串中从第山个字符开始的 全部字符复制成为另一个字符串。要求vc++可运行
时间: 2023-12-18 19:19:19 浏览: 62
可以使用指针和循环来实现字符串复制操作,下面是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str1[100], str2[100];
int start, len, i;
printf("请输入一个字符串:");
gets(str1);
printf("请输入开始位置和复制长度(以空格分隔):");
scanf("%d %d", &start, &len);
char *p1 = str1 + start - 1; // 指向开始位置
char *p2 = str2; // 指向新字符串
for (i = 0; i < len; i++) {
*p2++ = *p1++;
}
*p2 = '\0'; // 添加字符串结束符
printf("复制后的字符串为:%s\n", str2);
system("pause");
return 0;
}
```
注意事项:
1. `gets()` 函数存在安全问题,应该使用安全的输入函数(如 `fgets()`)代替;
2. 在指针运算时记得考虑字符数组的起始位置;
3. 复制后的新字符串必须以 `\0` 结束,否则会出现意想不到的结果。
阅读全文