C语言问题:将字符串a复制到字符串b中

2024-12-17 08:40:37
推荐回答(5个)
回答1:

1、首先需要建立一个新的文件,输入头文件和主函数。

2、接下来需要定义变量类型。

3、设置完变量类型之后开始调用cpy函数。

4、接下来需要定义一个函数,并定义变量类型。

5、最后加一个字符串结束符,并在主函数中输出。

6、编译。运行,可以看到字符串a复制到字符串b中。

回答2:

将字符串a复制到字符串b中,简单的方法是使用strcpy函数;
头文件:#include
定义函数:char *strcpy(char *dest, const char *src);
函数说明:strcpy()会将参数src 字符串拷贝至参数dest 所指的地址。
返回值:返回参数dest 的字符串起始地址。
附加说明:如果参数 dest 所指的内存空间不够大,可能会造成缓冲溢出(buffer Overflow)的错误情况,在编写程序时请特别留意,或者用strncpy()来取代。
范例

#include
#include
void main()

{
char a[30] = "first string(1)";
char b[] = "another string(2)";
printf("before strcpy() :%s\n", a);
printf("after strcpy() :%s\n", strcpy(a, b));
}

也可以使用循环来复制:
#include
void main()

{
int i;
char a[30] = "first string(1)";
char b[] = "another string(2)";
printf("before : %s\n", a);
for(i=0;b[i];i++)a[i]=b[i]; //复制除'\0'以外的每一个字符
a[i]='\0'; //置串尾标记'\0'
printf("after : %s\n", a);
}

回答3:

main()
{
char a[]="I am a boy.";
char b[20];
int i;
for(i=0;*(a+i)!='\0';i++)
*(b+i)=*(a+i);
*(b+i)='\0';
printf("String a is:%s\n",a);
printf("String b is:");
for(i=0;b[i]!='\0';i++)
printf("%c",b[i]);
printf("\n");

}

回答4:

strcpy(b,a)

回答5:

直接使用strcpy()函数阿