gpt4 book ai didi

无法输出我的列表

转载 作者:行者123 更新时间:2023-11-30 15:33:31 26 4
gpt4 key购买 nike

#include <stdio.h>
#include <stdlib.h>

typedef struct lista
{
char instrumento;
char *nota;
int inst;
struct lista *prox;
}melodia;/*com typdef basta usar t_melodia não é preciso usar struct melodia*/



melodia *inicio, *fim; ///dois apontadores para definir o inico e o fim da lista

void inserir_inicio(char *v)
{
if(inicio==NULL)
{
inicio = malloc(sizeof(melodia));
inicio->nota = v;///nota fica com o valor recebido
inicio->prox = NULL;///colocamos o prox para NULL
fim = inicio;
}
else
{
melodia *temp = malloc(sizeof(melodia));
temp->nota = v;
temp->prox = inicio;
inicio = temp; /// Colocamos o novo elemento no inicio
}
printf("Inserido no inicio\n");
}


void imprimir_lista()
{
melodia *aux = inicio;
printf("Lista:\n");
while(aux!=NULL)
{
printf("%s", aux->nota);
aux = aux->prox; /// proximo
}
printf("\n\n");
}

int main()
{
int i = 0;
char n[100];
while(i<5)
{
scanf("%s",n);
inserir_inicio(n);
i++;
}
imprimir_lista();
}

我认为问题出在我的函数 imprimir_lista 中,我只是无法让它将我插入列表中的值打印到控制台......(如果您问自己,代码是葡萄牙语,抱歉对于我的英语)

最佳答案

您始终将相同的地址传递给 inserir_inicio()(n)。

每次更改n的内容时,列表中的所有nota指针都指向新内容。

您可能需要将输入复制到全新的对象。

关于无法输出我的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23654394/

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