字符串赋值是否有效?

use*_*725 -1 c string character

s1=s2有效的声明吗?它给我错误:

需要左值

我的代码:

#include<stdio.h>
#include<conio.h>
void main()
{
    char s[1]="integ";
    char s[2]="systems";
    s1=s2;
    printf("%s", s1);
    getch();
}
Run Code Online (Sandbox Code Playgroud)

And*_*sen 5

您尚未定义名为的变量s2.你有两个变量s1,和s.此外,您不能分配像这样的字符数组.如果你需要在初始化之后更改变量指向的数组,则将它们声明为指针,或者使用strcpy()将一个字符串的内容复制到另一个字符串中(当然要注意溢出).最后,您将声明s大小为2,然后使用长度为7个字符的字符串初始化它.尝试:

char *s1 = "integ";
char *s2 = "systems";
s1 = s2;
printf(%s", s1);
Run Code Online (Sandbox Code Playgroud)