gpt4 book ai didi

c - 在结构字段(列表)中填充 Char*

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:56 27 4
gpt4 key购买 nike

我在使用“int”键到“char *”键的列表上工作时遇到了麻烦。struct 看起来像:

struct nodo {
char *info;
struct nodo *prec;
struct nodo *succ;
};
typedef struct nodo nodo;

我正在尝试使用我经常使用的函数来用 int 或 float 字段填充 struct(明显改编):

struct nodo *Crealista(void) {
struct nodo *p, *primo, *back;
int i, n;
p = NULL;
primo = NULL;
back = NULL;
printf("Numero di elementi: ");
scanf("%d", &n);
assert(n!=0);
printf("inserisci %d numeri interi positivi: ", n);

for (i=0; i<n; i++) {
p = malloc(sizeof(struct nodo));
scanf("%c" /* or maybe s? i need a string for each nodo... */, p->info);
// i feel this is the line that needs some more work
p->prec = back;
p->succ = NULL;
if (p->prec)
p->prec->succ = p;
back = p;
}

primo = p;

while (primo != NULL && primo->prec != NULL)
primo = primo->prec;

return primo;
}

有什么建议吗?

最佳答案

只需在您提到的行的 scanf 中添加 &

        scanf(" %c", &p->info); 

并在格式字符串中的%c 之前给"%c" 一个空格,以便它以您想要的格式显示文本。

关于c - 在结构字段(列表)中填充 Char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30307844/

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