重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C语言中字符串实现逆序实例详解
通榆网站建设公司创新互联,通榆网站设计制作,有大型网站制作公司丰富经验。已为通榆上千多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的通榆做网站的公司定做!
字符串逆序和正序的实现代码:
#include#include #include #include #include /*定义*/ typedef struct node { char c; struct node *llink,*rlink; }stud; /*建立链表*/ stud * creat(void) { stud *p,*h,*s; char a; if((h=(stud *)malloc(sizeof(stud)))==NULL) { printf("不能分配内存空间!"); exit(0); } h->c = 0; h->llink=NULL; h->rlink=NULL; p=h; while(1) { a = getchar(); if(a=='\n') break; if((s= (stud *) malloc(sizeof(stud)))==NULL) { printf("不能分配内存空间!"); exit(0); } p->rlink=s; s->c =a; s->llink=p; s->rlink=NULL; p=s; } h->llink=s; p->rlink=h; return(h); } /*正序*/ void print1(stud *h) { stud *p; p=h->rlink; printf("字符串(正序):"); while(p!=h) { printf("%c",p->c); p=p->rlink; } printf("\n"); } /*逆序*/ void print2(stud *h) { stud *p; p=h->llink; printf("字符串(逆序):"); while(p!=h) { printf("%c",p->c); p=p->llink; } printf("\n"); } /*释放*/ void free_stud(stud *h) { stud *p,*q; p=h->llink; while(p!=h) { q=p; p=p->llink; free(q); } free(h); } /*主函数*/ int main() { stud *head=NULL; head=creat(); print1(head); print2(head); free_stud(head); return 0; }
实现效果图:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!