
1条回答 默认 最新
CSDN专家-天际的海浪 2022-01-07 01:41关注你题目的解答代码如下:
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct Link { char elem; struct Link *next; } link; link *initLink(); void display(link *p); int main() { char s[100]; printf("请输入字符串:"); gets(s); link *h = initLink(s); printf("初始化链表为:\n"); display(h); return 0; } link *initLink(char *s) { link *p = (link *)malloc(sizeof(link)); //创建一个头结点 link *temp = p; //声明一个指针指向头结点,用于遍历链表 //生成链表 for (int i; s[i] != '\0'; i++) { if (s[i] >= '0' && s[i] <= '9') { link *a = (link *)malloc(sizeof(link)); a->elem = s[i]; a->next = NULL; temp->next = a; temp = temp->next; } } return p; } void display(link *p) { link *temp = p; //将temp指针重新指向头结点 //只要temp指针指向的结点的next不是Null,就执行输出语句。 while (temp->next) { temp = temp->next; printf("%c ", temp->elem); } printf("\n"); }如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
解决评论 打赏 举报 编辑记录无用 1