知交

倒序输出26个字母

#include <stdlib.h>
#include<stdio.h>
struct linklist{
    char zimu;
    struct linklist *next;
};
int main(){
    struct linklist *p1,*p2;//定义两个结构体指针p1,p2,一直把p2接在p1后面(旧的p2在新的p2后面),实现倒序输出 
    p1=(struct linklist*)malloc(sizeof(struct linklist));//给p1开辟一个初始空间 
    p1->next=NULL;//p1后面接空结点 
    int i;//循环变量 
    for(i=0;i<26;i++){
        p2=(struct linklist*)malloc(sizeof(struct linklist));//每一次循环开辟一个新的空间来储存字母 
        p2->zimu='a'+i;//实现输入字母a~z 
        p2->next=p1->next;//把p2接在p1后面,实现倒序输出 
        p1->next=p2;
    }
    while(p1->next!=NULL){
        printf("%c",p1->next->zimu);
        p1=p1->next;
    }
    //释放空间
    while(p1!=NULL){
        struct linklist* p3=p1;//定义一个指针来记住之前的p1,在p1指向下一个结点之后再释放原来的p1,以此来达到释放空间的效果 
        p1=p1->next;
        free(p3); 
    } 
        
}

 

posted on 2020-12-15 16:50  知交  阅读(692)  评论(0编辑  收藏  举报

导航