gpt4 book ai didi

c - 我如何为我的个人结构初始化一个字符串

转载 作者:太空宇宙 更新时间:2023-11-04 02:22:37 25 4
gpt4 key购买 nike

我想用结构变量 brown 创建一个结构成员 haircolour 但是当我尝试编译时出现错误 “字符 constatnt 对于它的类型来说太长了”和“赋值给具有数组类型的表达式”我将不胜感激任何关于如何解决这个问题的帮助。

我尝试了很多其他选项,例如将双引号放在棕色周围,但这不起作用

struct person {
int age;
int weight;
int height;
char haircolour[50];

};

struct person john;

john.age = 27;
john.weight = 80;
john.height = 170;
john.haircolour = 'brown';
printf("Here are the personal details of john: \n\n");
printf("age: %d \n",john.age);
printf("weight: %dkg \n",john.weight);
printf("height: %dcm \n",john.height);
printf("hair colour: %s", john.haircolour);

最佳答案

在 C 中,字符串写在双引号之间。

john.haircolour = "brown"; //As you said, you have tried this.

实际问题是您正在尝试使用赋值 (=) 运算符复制字符串。那行不通。

要复制,您应该使用 strcpystrncpy(更好。),如下所示。

请阅读 strcpy/strncpy from here并使用它们。

关于c - 我如何为我的个人结构初始化一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55555247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com