源程序代码分析
#include<stdio.h>#include<malloc.h>
typedef struct node
{
int data;
struct node *next;
}linklist;
void main()
{
linklist *r,*q,*head;
int i,j;
r=(linklist *)malloc(sizeof(linklist));
head=r;
for(i=0;i<10;i++)
{
r->data=i+1;
r->next=r;
printf("%3d",r->data);
}
q=(linklist *)malloc(sizeof(linklist));
q=head;
for(i=0;i<10;i++)
{
for(j=0;j<3;j++)
{
printf("%3d",q->data);
q->next=q;
}
}
}
为什么不是从1输出而老是输出10?