#include <stdio.h>
#include <stdlib.h>
#define IS_FULL(x) !x
typedef struct linkNode *node_pointer;
struct linkNode {
int data;
node_pointer link;
};
void attach(int inputnum, node_pointer *a_rear);
void print(node_pointer a);
void main(){
int i,len, num;
int inputnum;
node_pointer a, a_rear;
a=(node_pointer)malloc(sizeof(struct linkNode));
a_rear=a;
fprintf(stdout,"num:");
fscanf(stdin, "%d", &len);
for(i=0;i<len;i++){
fprintf(stdout,"inputnum:");
fscanf(stdin, "%d", &inputnum);
attach(inputnum,&a_rear);
}
a_rear->link=a;
print(a);
}
void attach(int inputnum, node_pointer *a_rear) {
node_pointer temp;
temp = (node_pointer)malloc(sizeof(struct linkNode));
if(IS_FULL(temp)) {
fprintf(stderr, "full\n");
exit(1);
}
temp->data = inputnum;
(*a_rear)->link = temp;
*a_rear = temp;
}
void print(node_pointer a){
node_pointer temp=a->link;
while(temp!=a){
fprintf(stdout, "%d ",temp->data);
temp=temp->link;
}
}