编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中...

#include <stdio.h>
#include <windows.h>
/*
	不用 strcpy 实现将一个字符串复制到另一个字符串中
	*/
//写一个这样的函数
void Strcpy(char* s1, const char* s2) {
	while (*s2 != '\0') {
		*s1++ = *s2++;
	}
	*s1 = *s2; //把 '\0' 也要复制进去
}

int main() {
	char s1[1024] = "sock";
	char s2[1024] = "jiesi";
	Strcpy(s1, s2);
	printf("%s\n", s1);

	system("pause");
	return 0;
}
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用循环语句,逐个将s2字符赋值给s1,直到s2的所有字符都被复制s1。具体实现如下: ```c #include <stdio.h> #include <string.h> int main() { char s1[100], s2[100]; int i; printf("请输入字符串s2:"); scanf("%s", s2); // 将s2字符复制s1 for (i = ; i < strlen(s2); i++) { s1[i] = s2[i]; } s1[i] = '\'; // 添加字符串结束符 printf("复制后的字符串s1为:%s\n", s1); return ; } ``` 运行程序后,输入字符串s2程序会将其复制s1,并输出复制后的字符串s1。 ### 回答2: 在编写程序前,我们首先需要了解字符数组的概念,字符数组指的是一串连续的字符,每个字符占用一个字节的内存空间,以'\0'结尾。数组的实现方式是通过使用下标来访问字符,下标从0开始。 为了将字符数组s2的全部字符复制字符数组s1,我们可以使用循环语句来遍历s2,然后逐一把s2字符拷贝到s1的对应位置。 首先,我们需要定义字符数组s1s2,并给它们分配足够的内存空间: char s1[100]; char s2[] = "Hello, World!"; 接下来,我们可以用for循环逐一把s2字符拷贝到s1的对应位置,代码如下: for (int i = 0; s2[i] != '\0'; i++) { s1[i] = s2[i]; } 在上述代码,循环终止条件是s2数组遍历到'\0'字符位置,这是由于在C语言字符数组以'\0'结尾。 最后,我们可以用puts函数来输出复制后的s1数组: puts(s1); 完整代码如下: #include <stdio.h> int main() { char s1[100]; char s2[] = "Hello, World!"; for (int i = 0; s2[i] != '\0'; i++) { s1[i] = s2[i]; } puts(s1); return 0; } 此程序实现字符数组s2的全部字符复制字符数组s1,输出结果为:Hello, World! ### 回答3: 编写一个程序,将字符数组s2的全部字符复制字符数组s1。 首先需要明确字符数组的概念:字符数组是一种可以存储多个字符的数据结构,通常使用一维数组来表示。在C语言字符数组以NULL('\0')结尾。为了实现字符数组s2的全部字符复制字符数组s1,我们可以使用循环语句来实现。具体步骤如下: 1. 定义两个字符数组s1s2,分别用于存储要复制字符和被复制字符。 2. 在程序使用for循环来遍历字符数组s2的所有字符,并逐一将它们赋值给字符数组s1的对应位置。 3. 在将s2所有字符复制s1之后,记得在s1的最后一个元素后添加一个NULL字符。 下面是详细的程序编写过程: #include <stdio.h> void strcopy(char s1[], char s2[]); int main() { char s1[100], s2[100]; printf("Enter the string s2: "); scanf("%s", s2); strcopy(s1, s2); printf("\nCopied string is: %s\n", s1); return 0; } void strcopy(char s1[], char s2[]) { int i; for(i = 0; s2[i] != '\0'; i++) { s1[i] = s2[i]; } s1[i] = '\0'; } 在该程序,我们定义了一个名为strcopy的函数,用于将s2字符复制s1,并在最后一个字符处添加'\0'作为字符串的结束标志。因此,函数的形参是两个字符数组s1s2。在主函数,我们创建了两个字符数组s1s2,并通过调用strcopy函数来将s2的所有字符复制s1。最后,我们打印了复制后的字符串s1。 总的来说,要实现字符数组s2的全部字符复制字符数组s1,我们只需要将s2的每个字符逐个复制s1,并在s1的最后一个元素(即s1[end])后添加NULL字符,以表示s1的结尾。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值