编写一个读入一个字符串,把它存入一个链表,并按相反的次序打印的程序。c语言描述
时间: 2023-04-12 13:01:12 浏览: 137
写一个读入一个字符串,把它存入一个链表,并按相反的次序打印的程序的两种解决
3星 · 编辑精心推荐
以下是一个读入一个字符串,把它存入一个链表,并按相反的次序打印的程序的C语言描述:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct node {
char data;
struct node *next;
} Node;
Node *createNode(char data) {
Node *newNode = (Node*) malloc(sizeof(Node));
newNode->data = data;
newNode->next = NULL;
return newNode;
}
void insertNode(Node **head, char data) {
Node *newNode = createNode(data);
if (*head == NULL) {
*head = newNode;
} else {
newNode->next = *head;
*head = newNode;
}
}
void printListReverse(Node *head) {
if (head == NULL) {
return;
}
printListReverse(head->next);
printf("%c", head->data);
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
Node *head = NULL;
for (int i = 0; i < strlen(str); i++) {
insertNode(&head, str[i]);
}
printf("Reversed string: ");
printListReverse(head);
printf("\n");
return 0;
}
```
这个程序可以读入一个字符串,把它存入一个链表中,并按相反的次序打印出来。
阅读全文