2016 - 2024

感恩一路有你

c语言字符串存入数组 C语言,不能把字符串赋给字符数组的是?

浏览量:3354 时间:2021-03-14 03:39:56 作者:admin

C语言,不能把字符串赋给字符数组的是?

Chars[20]s=“helo”此错误的原因是不能使用赋值语句将字符串常量直接赋给字符数组。Chars[20]charss[]=“Hello”s=SS错误,原因是:字符数组不能用赋值语句直接赋值给字符数组,即字符串副本(在C语言中,但在C的string类中,上述赋值是正确的)必须用strcpy()函数实现。使用Chara的正确理由是:在声明数组变量时,为它打开空间并初始化它,这符合C语言的语法

注意初始化和赋值是不同的。{“a”、“B”、“C”}不是表达式,也没有类型。它们只能用于初始化数组或结构。数组可以隐式转换为指向其第一个元素的指针的正确值,该值可以初始化或复制到指针对象。另外,C字符串是指以零值字符结束的连续字符对象序列,不是字符指针,而是可以通过字符指针处理字符串。C语言可以写char*P=(char[]){“a”,“B”,“C”}。也可以在作业中使用。右边的东西是复合文字量,左边的值。生存期是当前块(函数内部)或整个程序执行周期(函数外部)。此声明的功能是创建一个未命名数组,然后通过其隐式转换的指针值初始化指针对象P。与标题上的文字相比,这个声明少了一个标识符。

请问在c语言中如何通过输入字符串为字符指针数组赋值?

如果您不想要原始内容,scanf(%s”,a)如果您想要将以下输入放在原始内容之后,即ABC之后,则需要中间数组B[]来临时存储输入内容。首先将新输入放入数组B:scnaf(%s”,B),然后将其连接到原始内容的后面:strcat(a,B)不要忘记包含

初始化和赋值是两个完全不同的操作。初始化的意义是在创建变量时给它一个初始值。赋值的意义是删除对象的当前值并用新值替换它。

“我爱你”是一个字符串文字。在赋值语句中,它将自动转换为char*type,而C是char[10]类型。这两种类型是不同的,编译器不支持为带有指针的数组赋值。

数组和指针决不是等价的。在这个问题中,C的类型是char[10],而不是char*。虽然很多时候数组名会自动退化为指针:

在以下情况下数组名不会退化:

c语言字符串存入数组 c语言char数组赋值 c语言对字符串赋值

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。