C语言-strcpy与strcat的用法

2025-02-23 07:39:10
推荐回答(5个)
回答1:

strcpy()是字符串复制函数。连字符串的结束标志‘\0’一同复制。

对于strcpy(a+1,b+2);中的b+2则是数组里的“h\0”的首地址。
a+1则是数组里的“bcde”的首地址。
即此函数的意义是:把“h\0”复制到“bcde”的位置。字符串遇到‘\0’结束
即结果是:ah。

对于strcat(s[0],s[1]);中的二为数组可以看成是多个一维数组组成的。所以 s[0]代表的是“a”的首地址,s[1]代表的是“good”的首地址。这是字符串连接函数。即把good放到了a的后面。
结果是:agood。

回答2:

strcpy是字符串复制,原型是
char *strcpy(char *dst,char *src)
函数把src的字符串内容包括字符串结束符一起复制到dst指向的空间。
strcpy(a+1,b+2)这句是把b+2开始的字符串,即"h"复制到a+1开始的位置
操作结束后a数组内容变为
"ah\0de"再打印a数组就显示
ah

strcat是字符串拼接函数,原型是
char *strcat(char *dst,char *src)函数把src的内容包括字符串结束符接到dst后面,拼接时会覆盖dst的字符串结束符
strcat(s[0],s[1])这个操作的结果是s[0][10]="agood\0"
打印s[0]显示
agood

回答3:

  1. strcpy函数:

    原型声明:extern char *strcpy(char* dest, const char *src);

    头文件:#include

    功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间

    说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

    返回指向dest的指针。

使用实例:

#include

char * strcpy(char * strDest,const char * strSrc)

{

char * strDestCopy=strDest;

if ((strDest==NULL)||(strSrc==NULL))

throw "Invalid argument";

while ((*strDest++=*strSrc++)!='\0');

return strDestCopy;

}

void main()

{

char a[20],c[]="i am teacher!";

try

{

strcpy(a,c);

}

catch(char* strInfo)

{

cout<

exit(-1);

}

cout<

}

  2. strcat函数:

原型:

  extern char *strcat(char *dest,char *src)

头文件:

  #include

  在C++中,则存在于头文件中。

功能:

  把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

说明:

  src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

  返回指向dest的指针。

举例

  // strcat.c

  #include

  #include

  main()

  {

  char d[20]="Golden Global";

  char *s=" View";

  clrscr();

  strcat(d,s);

  printf("%s",d);

  getchar();

  return 0;

  }

  程序执行结果为:Golden Global View

回答4:

strcpy的功能是将字符串2复制到字符数组1中去(包括字符串结尾符‘\0’)。strcpy的第一个参数必须是一个字符数组变量,第二个参数可以是一个包含字符串的字符数组变量,也可以是一个字符串常量。例如,下面的程序将输入的字符串复制给str1.
char str1[20],str2[20];
scanf("%s",str2);
strcpy(str1,str2);

strcat的功能是将字符串2连接到字符数组1的后面(包括结尾符‘\0’)。其中,字符串2没有变,而字符数组1中的字符将增加了。例如:
char str1[20]="12345",str2[20]="6789";
strcat (str1,str2);
printf("%s",str1); //将输出123456789

回答5:

1)stcpy(a+1,b+2)是复制函数,就是将地址(b+2)后的字符串"h\0"复制到地址(a+1),之后a[10]="ah"。
2)strcat(s[0],s[1])是连接函数,就是将地址为s[1]字符串"good",连接到地址为s[0]字符串"a"后,之后首地址为s[0]的字符串s[0][10]="agood"。
以上结果已验证。
3) char s[][10]={"a","good",world"};中word少一个引号“ 。