程序运行到一般出错了咋回事?
#include<stdio.h> #include<iostream.h> typedef char datatype; typedef struct node { datatype data; struct node *next; }linklist; void create(linklist *&head) { linklist *p,*q; char ch; head=new linklist; p=head; while((ch=getchar())!='*') { q=new linklist; p->next=q; q->data=ch; p=q; } p->next=NULL; } void print(linklist *head) { linklist *p; p=head->next; while(p!=NULL) { cout<data<<" "; p=p->next; } cout<<endl; } int length(linklist *head) { linklist *p; int side=0; p=head->next; while(p!=NULL) { side++; p=p->next; } return side; } void line(linklist *head,int side) { linklist *p; int i,a,r; a=side; p=head->next; while(a!=1) { for(i=0;i<a-1;i++) { if(p->data next->data) { r=p->next->data; p->next->data=p->data; p->data=r; } p=p->next; } p=head->next; a--; } } void insert(linklist *head) { linklist *p,*q; char x; x=getchar(); p=head->next; while(x data&&p!=NULL) { p=p->next; } q=new linklist; if(p!=NULL) { q->data=p->data; q->next=p->next; p->next=q; p->data=x; } else { p->next=q; q->data=x; q->next=NULL; } } void main() { linklist *head; create(head); print(head); line(head,length(head)); print(head); insert(head); print(head); }
#include #include typedef char datatype; typedef struct node { datatype data; struct node *next; }linklist; void create(linklist *&head) { linklist *p,*q; char ch; head=new linklist; p=head; while((ch=getchar())!='*') { q=new linklist; p->next=q; q->data=ch; p=q; } p->next=NULL; } void print(linklist *head) { linklist *p; p=head->next; while(p!=NULL) { coutdatanext; } coutnext; while(p!=NULL) { side++; p=p->next; } return side; } void line(linklist *head,int side) { linklist *p; int i,a,r; a=side; p=head->next; while(a!=1) { for(i=0;idatanext->data) { r=p->next->data; p->next->data=p->data; p->data=r; } p=p->next; } p=head->next; a--; } } void insert(linklist *head) { linklist *p,*q,*k;// k用来保存p的前一节点,这样应该就行。
char x; x=getchar(); p=head->next; while(xdata&&p!=NULL) { k=p; p=p->next; } q=new linklist; if(p!=NULL) { q->data=p->data; q->next=p->next; p->next=q; p->data=x; } else { k->next=q; q->data=x; q->next=NULL; } } void main() { linklist *head; create(head); print(head); line(head,length(head)); print(head); insert(head); print(head); } 。
答:这样你只删除了new ScreenStruct[10]的第一个结构体,要用个for循环,挨个删除。要不试试delete []p_Screen,也行详情>>
答:桌面图标是无法自动得到,因为图标的存在与否应用程序无法知道。 如果你确认在桌面上可能会有这个图标,那么你只要遍历桌面所有的图标,然后把指向该应用程序的图标都更改...详情>>