C-printf(“s”)显示符号

C-printf(“s”)显示符号,c,printf,C,Printf,我需要你的帮助,因为当我打印值时​​对于atual->chave,它们返回符号。 代码如下: void mostrar(struct tLdde *l, int modo) { struct tItem *atual; char *chave; if(modo == CABECA) { atual = l->inicio; while(atual != NULL) { chave =

我需要你的帮助,因为当我打印值时​​对于atual->chave,它们返回符号。 代码如下:

void mostrar(struct tLdde *l, int modo)
{
    struct tItem *atual;
    char *chave;

    if(modo == CABECA)
    {
        atual = l->inicio;
        while(atual != NULL)
        {
            chave = atual->chave;
            printf("%s ", &chave);
            atual = atual->proximo;
        }
    }
    else
    {
        atual = l->final;
        while(atual != NULL)
        {
            chave = atual->chave;
            printf("%s ", &chave);
            atual = atual->anterior;
        }
    }
    printf("\n");

}
这是输出:

Spea{Obam{iPhoP{Pott8{使用

printf("%s ", chave);
而不是

printf("%s ", &chave);

删除&

我尝试了这一点,但当程序到达此行时停止,这意味着您没有正确分配
atual->chave
。问题的根源在于设置列表的代码。