一个循环队列的调用出错
											 程序代码:
程序代码:#include
#include
typedef struct {
        int *base;
        int front;
        int  rear;
        }sqqueue;
   int En_que(int borrow, sqqueue Q)
   {   
       printf("%d",borrow);//
       if(!Q.base){
       printf("内存已满!\n");
       }
      
       if((Q.rear+1)%6==Q.front){
            Q.rear=0;
            Q.base[Q.rear]=borrow;
            Q.rear++;
              printf("%d",Q.base[Q.rear]);//
            }
       else{
            Q.base[Q.rear]=borrow;
            Q.rear++;
             printf("%d",Q.base[Q.rear]);//
            }
                return 0;            
          }
       int  De_que(sqqueue Q){
            int n;
            if(!Q.base){
            printf("你还没有去过银行\n");
            n=0;}
            if((Q.front+1)%6==Q.front){
                   n=Q.base[Q.front];                     
                   Q.front=0; }
                   else if(Q.front==Q.rear)
                   n=0;
                   else
             {n=Q.base[Q.front];
             Q.front++;}
             return n;
             }                            
    int main(){
        int i,n;
        int borrow;
        sqqueue Q;
        Q.base=(int*)malloc(6*sizeof(int));
        Q.rear=Q.front=0;
        while(1){
           printf("你的选择是:");     
        scanf("%d",&i);
        if(i==1){     
        scanf("%d",&borrow);
        En_que(borrow,Q);
        }
         else if(i==2){
                    for(i=1;1<=5;i++){                                        
                      n=De_que(Q);
                      if(n<0)
                      printf("你向银行还款%d元",n);
                      else if(n>0)
                      printf("你向银行贷款%d元",n);
                      }
                      }  
                      } 
        return 0;
       
    }
真心不知道怎么回事,应该是出队与入队两个调用函数的问题。
万分感谢。
										
					
	


 
											





 
	    

 
	



 
										
					
	

