gpt4 book ai didi

c - 尝试在结构中设置字符串

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

struct list_el {
unsigned int data;
char name[16];
char grade;
struct list_el * next;
};

typedef struct list_el item;

int main(int argc, char **argv) {
item *curr, *head;

//first item
curr->data = 3141592;
strcpy(curr->name, "Carl");
curr->grade = 'A';
curr->next = head;
head = curr;

试图弄清楚为什么当我尝试将名称设置为“Carl”时这不起作用。我收到“函数‘strcpy’的参数太少”,即使我在其中有 2 个参数(目标、源)。当我添加第三个参数(要复制多少个字符?)时,我最终得到“赋值给具有数组类型的表达式”。

最佳答案

我没有收到你的错误“too few arguments to function 'strcpy'” 但我可以看到你已经声明了一个 item *curr 但从未初始化。所以我尝试更正此问题并更新您的代码如下,它没有给出任何错误。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct list_el {
unsigned int data;
char name[16];
char grade;
struct list_el * next;
};

typedef struct list_el item;

int main(int argc, char **argv) {
item *curr, *head;
curr = malloc(sizeof(struct list_el));
//first item
curr->data = 3141592;
strcpy(curr->name, "Carl");
curr->grade = 'A';
curr->next = head;
head = curr;
}

我想,它对你有用。

关于c - 尝试在结构中设置字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29982104/

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