问题用//标出来了,同样的语句为什么放入循环结果就完全不同了?
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define NO 0
int nn=0;
typedef struct Node
{
int data;
struct Node *next;
}Node,*Linkstackptr;
typedef struct
{
Linkstackptr top;
int count;
}Linkstack;
Linkstackptr Createstacktail(Linkstack *S,int n)
{
Linkstackptr r,p;
S->count=0;
Linkstackptr *L;
*L=(Node*)malloc(sizeof(Node));
(*L)->data=++nn;(*L)->next=NULL;
r=*L;
S->top=*L; S->count++;
printf("%d\n",(*L)->data); //
int j;
for(j=1;j<n;j++)
{ printf("%d\n",(*L)->data); //
p=(Node*)malloc(sizeof(Node));
p->data=++nn;
p->next=NULL;
r->next=p;
r=p;
S->count++;
}
//printf("%d\n",(*L)->data);
//printf("%d\n",(*L)->next);
return *L;
}
void main()
{
Linkstackptr first;
Linkstack S;
first=Createstacktail(&S,3);
//Showlist(first);
//printf("%d\n",S.count);
//Showlist(first);
}
江户川乱折腾
临摹微笑