Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:哪位大侠帮帮忙啊!为什么总是Presentation Error?

Posted by noodle at 2006-07-15 17:48:22 on Problem 1028
In Reply To:哪位大侠帮帮忙啊!为什么总是Presentation Error? Posted by:noodle at 2006-07-15 17:47:08
> #include<stdio.h>
> #include<string.h>
> #include<malloc.h>
> 
> struct url
> {
> 	char site[70];
> 	struct url *next;
> };
> 
> typedef struct url url;
> 
> url *pipe=NULL;//用以在被调函数和调用函数之间传递数据的全局变量;
> 
> url *Push(url *unit,url *stack)
> {
> 	if(stack==NULL)
> 	{
> 		stack=unit;
> 		unit->next=NULL;
> 		return stack;
> 	}
> 	else
> 	{
> 		unit->next=stack;
> 		stack=unit;
> 		return stack;
> 	}
> }
> 
> url *Pop(url *stack)
> {
> 	url *unit;
> 
> 	if(stack==NULL)
> 		return NULL;
> 	else
> 	{
> 		unit=stack;
> 		stack=stack->next;
> 		pipe=stack;
> 		return unit;
> 	}
> }
> 
> int IsEmpty(url *stack)
> {
> 	if(stack==NULL)
> 		return 0;
> 	else
> 		return 1;
> }
> 
> void main()
> {
> 	url *ForwardStack=NULL,*BackStack=NULL,*unit,*unit1;
> 	char command[8],website[]={"http://www.acm.org/"};
> 	int i;
> 
> 	unit=(url*)malloc(sizeof(url));
> 	for(i=0;i<20;i++)
> 		unit->site[i]=website[i];
> 
> 	scanf("%s",command);
> 	while(1)
> 	{
> 		if(strcmp(command,"BACK")==0)
> 		{
> 			if(IsEmpty(BackStack)==0)
> 				printf("Ignored");
> 			else
> 			{
> 				ForwardStack=Push(unit,ForwardStack);
> 				unit=Pop(BackStack);
> 				BackStack=pipe;
> 				puts(unit->site);
> 			
> 			}
> 		}
> 
> 		if(strcmp(command,"FORWARD")==0)
> 		{
> 			if(IsEmpty(ForwardStack)==0)
> 				printf("Ignored");
> 			else
> 			{
> 				BackStack=Push(unit,BackStack);
> 				unit=Pop(ForwardStack);
> 				ForwardStack=pipe;
> 				puts(unit->site);
> 				
> 			}
> 		}
> 		
> 		if(strcmp(command,"VISIT")==0)
> 		{
> 			BackStack=Push(unit,BackStack);
> 
> 			unit=(url*)malloc(sizeof(url));
> 			unit->next=NULL;
> 			scanf("%s",unit->site);
> 			puts(unit->site);
> 			
> 
> 			while(ForwardStack!=NULL)
> 			{
> 				unit1=ForwardStack;
> 				ForwardStack=ForwardStack->next;
> 				free(unit1);
> 			}
> 		}
> 
> 		if(strcmp(command,"QUIT")==0)
> 			exit(0);
> 
> 		printf("\n");
> 		for(i=0;i<8;i++)
> 			command[i]='\0';
> 		scanf("%s",command);
> 	}
> 
> }
测试数据有"\n"吗?

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator