为什么会这样?那是什么符号⼀

2024-12-27 11:40:10
推荐回答(3个)
回答1:

str1=strcpy(str1,str2);
这个语句将strcpy函数的地址赋值给了str1,你再用%c打出来当然不对。
strcpy是个void返回原型,把这句改为strcpy(str1,str2);就对了。

回答2:

改成如下即可:

#include
#include
#include
main()
{ char str1[]="aas",*str2="cds";
int n;
n=strcmp(str1,str2);
strcpy(str1,str2);
printf("%d\n",n);
printf("%s\n",str1);
getch();
}

回答3:

strcpy函数的第一个参数必须是指向字符型数组的指针,字符型指针是不行的,不能保证有空间容纳复制来的字符。
可以像楼上说的str1改为字符数组,也可以再定义一个字符数组,长度大于等于4,作为strcpy函数的第一个参数,再把指针传给str1
char a[4];
str1=strcpy(a,str2);

printf("%c\n",str1);
这句不对,可以在str1前加*,输出第一个字符;也可以改为%s,输出字符串。