stack linked - list C



所以我在玩链表堆栈,我不知道如何输出char而不是int。让我感到羞耻的是,我花了几个小时才得到ASCII值(这里是40和97)。我真的可以在这里使用一些光线,因为我觉得我错过了一些非常基本的东西。谢谢你

#include <stdio.h>
#include <stdlib.h>
typedef struct STACKnode* link;
struct STACKnode { char item; link next; }; 
static link head;
link NEW(char item, link next) 
{ 
link x = malloc(sizeof *x);
x->item = item; 
x->next = next; 
return x; 
}
void STACKinit(int maxN) { head = NULL; }
int STACKempty() { return head == NULL; }
void STACKpush(char item) { head = NEW(item, head); }
char  STACKpop() 
{ 
char item = head->item;  
link t = head->next;
free(head); 
head = t; 
return item; 
}
void STACKprint()
{
  link temp=head; 
while(temp!=NULL)
{
    printf("%in",temp->item); 
    temp = temp->next;
}
}
int main(int argc, char *argv[])
{ 
    STACKinit(10);
    STACKpush('a');
    STACKpush('(');
    STACKprint();   
    system("pause");
    return 0;
}   
printf("%in",temp->item);

你可能想要这个,而不是:

printf("%cn",temp->item);

%i用于将其输入格式化为十进制整数。%c将其格式化为字符

相关内容

  • 没有找到相关文章

最新更新