将一个字符串中的前n个字符复制到一个字符数组中去,n值小于字符串实际长度,不许使用strcpy函数。 输入格式: 在第一行中输入一个长度不超过20的字符串,并以回车结束,在第二行中输入一个整数n。 输出格式: 在一行中输出满足条件的字符串。 输入样例: asdfghj 3 输出样例: asd
时间: 2024-03-12 21:48:13 浏览: 125
C语言程序设计-用函数实现字符串的复制, 不允许用strcpy()函数.c
5星 · 资源好评率100%
下面是一份参考代码,可以实现将一个字符串中的前 n 个字符复制到一个字符数组中去,n 值小于字符串实际长度,且不使用 strcpy() 函数:
```c
#include <stdio.h>
int main() {
char str1[20], str2[20];
int i, n;
scanf("%s", str1);
scanf("%d", &n);
for (i = 0; i < n; i++) {
str2[i] = str1[i];
}
str2[n] = '\0';
printf("%s", str2);
return 0;
}
```
首先使用 scanf() 函数输入一个长度不超过 20 的字符串和一个整数 n。然后使用 for 循环将字符串 str1 的前 n 个字符复制到字符数组 str2 中,并在最后一个字符后面加上字符串的结束标志 '\0'。最后使用 printf() 函数输出 str2 即可。
需要注意的是,这里的 str1 和 str2 数组都需要足够大,以容纳输入的字符串和复制后的字符串。同时,如果输入的字符串长度小于 n,那么复制后的字符串可能会出现未知的结果,因此应该在复制前进行判断。
阅读全文