这段c代码编译连接都成功,可是运行时没反应啊
用C语言编程实现单链表的基本操作。有必要的类型说明,并完成下述函数功能:(1) CreateList( ):逆序建立一个(带有头结点的)单链表,在键盘上按顺序输入26个大写英文字母A……Z,最后输入的字母Z,放在头结点之后;第一个输入的字母A放在单链表的末尾。
(2) EncryptList( ):将存放于单链表中的所有字母均前移3个位置,即经过前移后变化为:
(3) ListPrint( ):显示单链表所有元素,此函数调用2次,分别在EncryptList ( )函数调用之前、之后使用。
在主函数main( )中调用各个子函数完成单链表的基本操作。
程序代码:
#include "stdio.h" #include "stdlib.h" typedef struct LNode { char data; struct LNode *next; }LNode, *LinkList; void CreateList(LinkList & L, int n) { int i; L=(LinkList)malloc(sizeof(LNode)); L->next=NULL; for(i=n;i>0;--i) { LinkList p; p=(LinkList)malloc(sizeof(LNode)); scanf("%c",&(p->data)); p->next=L->next; L->next=p; } } int ListPrint(LinkList L) { LinkList q; q=L-> next; if(!q) { printf("error!\n"); return 0; } while(q) { printf("%c\t",q->data); q=q->next; } } int EncryptList(LinkList L) { LinkList q; q=L-> next; if(!q) { printf("error!\n"); return 0; } while(q) { q->data=(q->data-65+26-3)%26+65; q=q->next; } return 0; } int main() { int a=26; LinkList b; CreateList(b,a); ListPrint(b); EncryptList(b); ListPrint(b); return 0; }