1、char s[20];s="helo";这样错误的原因就是:不能用赋值语句将一个字符串常量直接给一个字符数组赋值。
(资料图)
2、char s[20];char ss[]="hello";s=ss;错误原因是:不能用赋值语句将一个字符数组直接给一个字符数组赋值,即字符串的复制(c语言中,但是在c++的string 类,上面的赋值是正确的)必须用strcpy()函数实现。
3、而char a[ ]=”toyou“;正确的原因是:因为在声明数组变量的时候就是,为其开辟空间,并为其初始化,这样才是符合c语言语法的。
4、扩展资料:C语言中字符串赋值的理解一、指针式赋值上面的示例是显然可以正常执行的,也是很容易理解的。
5、但是下面这种方式就令人有点难以理解了。
6、通过程序的运行情况,我们可以知道:char *p = "hello";这种字符串的赋值方式是完全没有问题的。
7、要理解这种赋值方式,我们首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么工作。
8、双引号主要做了3个工作,分别是:(1)申请了空间(在常量区),存放了字符串。
9、(2)在字符串尾加上了“”。
10、(3)返回地址。
11、这里所返回的地址就赋值给了char *类型的指针变量p。
12、二、通过字符数组直接把字符串赋值。
13、程序如下:三、需要注意的一些问题直接把字符串赋值给数组名(也就是数组首元素的首地址)是不行的。
本文分享完毕,希望对大家有所帮助。
下一篇:最后一页
X 关闭
-
c语言怎么给数组赋值字符串(c语言数组赋值函数)|全球快报
语言怎么给数组赋值字符串,c语言数组赋值函数这个问题很多朋友还不知
-
世界今日报丨全疆机场旅客吞吐量突破1650万人次
近期,新疆旅游、商贸等迎来客运高峰。截至6月19日,今年全疆机场累计
-
宁德时代电池存在重大缺陷,被暂停向特斯拉供货?回应来了
凤凰网科技讯6月21日消息,市场传闻宁德时代电池存在重大缺陷,已被特
-
天天速看:惠州公安公布2起打击整治网络谣言典型案例
为有效净化网络环境,依法严厉打击网络谣言,公安部网安局部署开展为期
-
渝西水资源配置工程金刚沱泵站建设有序推进
6月20日,金刚沱泵站建设现场,施工团队正在作业,以确保2024年6月底具