1. 程式人生 > 實用技巧 >倒序輸出26個字母

倒序輸出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); } }