c语言字符串连接出错,str1=str2&str3;

出错提示:invalid operands to binary &!!!
2025-06-29 17:50:31
推荐回答(3个)
回答1:

不能写成str1=strcat(str2,str3);
使用了strcat(str2,str3); 语句之后,str2就变成了原来的str2+str3
因此,如果非要写成str1的话,要再加上一句:
strcpy(str1,str2);
补充;如果按照三楼那样定义的话,可以。
二楼正解。
但是如果定义成char str1[20];
就不行了

strcat
原型:extern char *strcat(char *dest,char *src);
用法:#include
功能:把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;
}

回答2:

前面要引用
#include
程序改成
str1=strcat(str2,str3);

回答3:

#incldue

char *str1;

str1=strcat(str2,str3);

str3字符串将被连接到str2字符串的后面并保存到str2中,并将str2的首地址返回给str1

必需确保str2数组的长度足够容纳连接后的字符串.

另外 , &是按位与操作符,没有连接字符串的作用.