一个C语言的问题,为什么2和3是对的,1在编译时报错?

1.int main()
{
char *s;
s={"Olympic"};
printf("%s",s);
return 0;
}
2.int main()
{
char *s;
s="Olympic";
printf("%s",s);
return 0;
}
3.int main()
{
char *s={"Olympic"};
printf("%s",s);
return 0;
}

{}只能用于定义变量初始化时使用
之后对变量重新赋值时不能用{}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

1中s是指针变量,如果要引用这个指针所指的内容,需要写成*s

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632