|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- #include<stdlib.h>
- #define CardNumber 13
- typedef struct node
- {
- int data;
- struct node* next;
- }sqlist, *linklist;
- void main()
- {
- void Magician(linklist L);
- linklist creat();
- linklist rs;
- /*int i;*/ //如果把这一句注释掉,换到下面两行
- rs=creat();
- Magician(rs);
- int i; //换到这里,编译就就会报错,如图片所示,用的visual C++编译器,这是什么原因呢.
-
- for(i=1;i<=CardNumber;i++)
- {
- printf("%d\n",rs->data);
- rs=rs->next;
- }
- }
- linklist creat()
- {
- linklist head=NULL;
- linklist p;
- linklist r;
- int i;
- for(i=1;i<=CardNumber;i++)
- {
- p=(linklist)malloc(sizeof(sqlist));
- p->data=0;
- if(head==NULL)
- {
- head=p;
- }
- else
- {
- r->next=p;
- }
- r=p;
- }
- r->next=head;
- return head;
- }
- void Magician(linklist L)
- {
- linklist p;
- int j;
- int Countnumber = 2;
- p=L;
- L->data=1;
-
-
- while(1)
- {
- for(j=1;j<=Countnumber;j++)
- {
- p=p->next;
- if(p->data!=0)
- {
- j--;
- }
- }
- if(p->data==0)
- {
- p->data=Countnumber;
- Countnumber++;
-
- if(Countnumber==14)
- break;
- }
- }
- }
复制代码 |
|