// sennkei list
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int val;
struct node *next;
}Node;
Node *head = NULL;
Node* createN(int x){
Node *newnode;
newnode
= (Node
*)malloc(sizeof(Node
)); printf("a%lda", sizeof(Node
)); newnode->val = x;
newnode->next = NULL;
return newnode;
}
void initL(int n){
int x,i;
Node *p;
head = createN(x);
p = head;
for(i=1;i<n;i++){
p->next = createN(x);
p = p->next;
}
}
void freeL(){
Node *p;
while(head!=NULL){
p = head->next;
head = p;
}
}
void printN(Node *a){
if(a
== NULL
) printf("NULL\n"); }
void printL(){
Node *p = head;
while(p != NULL){
p = p->next;
}
}
Node* getN(int n){
int i;
Node *p;
p = head;
for(i=1;i<n;i++){
p = p->next;
}
return p;
}
int main(void){
int n,x1;
Node *k;
initL(n);
printL();
k = getN(x1);
printN(k);
freeL();
return 0;
}
Ly8gc2VubmtlaSBsaXN0CiAKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KIAp0eXBlZGVmIHN0cnVjdCBub2RlIHsKICAgIGludCB2YWw7CiAgICBzdHJ1Y3Qgbm9kZSAqbmV4dDsKfU5vZGU7CiAKTm9kZSAqaGVhZCA9IE5VTEw7CiAKTm9kZSogY3JlYXRlTihpbnQgeCl7CiAgICBOb2RlICpuZXdub2RlOwogICAgbmV3bm9kZSA9IChOb2RlICopbWFsbG9jKHNpemVvZihOb2RlKSk7CiAgICBwcmludGYoImElbGRhIiwgc2l6ZW9mKE5vZGUpKTsKICAgIG5ld25vZGUtPnZhbCA9IHg7CiAgICBuZXdub2RlLT5uZXh0ID0gTlVMTDsKICAgIHJldHVybiBuZXdub2RlOwp9CiAKdm9pZCBpbml0TChpbnQgbil7CiAgICBpbnQgeCxpOwogICAgTm9kZSAqcDsKICAgIHNjYW5mKCIlZCIsJngpOwogICAgaGVhZCA9IGNyZWF0ZU4oeCk7CiAgICBwID0gaGVhZDsKICAgIGZvcihpPTE7aTxuO2krKyl7CiAgICAgICAgc2NhbmYoIiVkIiwmeCk7CiAgICAgICAgcC0+bmV4dCA9IGNyZWF0ZU4oeCk7CiAgICAgICAgcCA9IHAtPm5leHQ7CiAgICB9Cn0KIAp2b2lkIGZyZWVMKCl7CiAgICBOb2RlICpwOwogICAgd2hpbGUoaGVhZCE9TlVMTCl7CiAgICAgICAgcCA9IGhlYWQtPm5leHQ7CiAgICAgICAgZnJlZShoZWFkKTsKICAgICAgICBoZWFkID0gcDsKICAgIH0KfQogCnZvaWQgcHJpbnROKE5vZGUgKmEpewogICAgaWYoYSA9PSBOVUxMKSBwcmludGYoIk5VTExcbiIpOwogICAgZWxzZSBwcmludGYoIiVkXG4iLGEtPnZhbCk7Cn0KIAp2b2lkIHByaW50TCgpewogICAgTm9kZSAqcCA9IGhlYWQ7CiAgICB3aGlsZShwICE9IE5VTEwpewogICAgICAgIHByaW50ZigiJWQgIixwLT52YWwpOwogICAgICAgIHAgPSBwLT5uZXh0OwogICAgfQogICAgcHJpbnRmKCJcbiIpOwp9CiAKTm9kZSogZ2V0TihpbnQgbil7CiAgICBpbnQgaTsKICAgIE5vZGUgKnA7CiAgICBwID0gaGVhZDsKICAgIGZvcihpPTE7aTxuO2krKyl7CiAgICAJcCA9IHAtPm5leHQ7CiAgICB9CiAgICByZXR1cm4gcDsKfQogCmludCBtYWluKHZvaWQpewogICAgaW50IG4seDE7CiAgICBOb2RlICprOwogICAgc2NhbmYoIiVkIiwmbik7CiAgICBpbml0TChuKTsKICAgIHByaW50TCgpOwogICAgc2NhbmYoIiVkIiwmeDEpOwogICAgayA9IGdldE4oeDEpOwogICAgcHJpbnROKGspOwogICAgZnJlZUwoKTsKICAgIHJldHVybiAwOwp9