| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 909 人关注过本帖
标题:c语言程序在运行时没有错误没有警告就是exe停止工作怎么回事急需大神解答 本 ...
只看楼主 加入收藏
bccnjj
Rank: 1
等 级:新手上路
帖 子:15
专家分:4
注 册:2012-2-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
c语言程序在运行时没有错误没有警告就是exe停止工作怎么回事急需大神解答 本人将不胜感激
程序代码:
#include "stdio.h"
#include "malloc.h"
#define bool int;
#define true 1;
#define false 0;
typedef struct Queue
{
    int *pBase;
    int front;
    int rear;
}QUEUE;
void init(QUEUE *);
bool en_queue(QUEUE *, int val);
void traverse_queue(QUEUE *);
bool full_queue(QUEUE *);
bool out_queue(QUEUE *, int *);
bool emput_queue(QUEUE *);
int main(void)
{
    QUEUE Q;
    int val;
    init(&Q);
//    printf("Test printf");
    en_queue(&Q, 1);
    en_queue(&Q, 2);
    en_queue(&Q, 3);
    en_queue(&Q, 4);
    en_queue(&Q, 5);
    traverse_queue(&Q);
    if (output_queue(&Q, &val))
    {
        printf("出队成功,出队元素是:%d\n", val);
    }
    else
    {
        printf("出队失败!\n");
    }
//    printf("dfsdfsdfsdf\n");
    traverse_queue(&Q);
    return 0;
}
void init(QUEUE *pQ)
{
    pQ->pBase = (int *)malloc(sizeof(int) *6);
    pQ->pBase = 0;
    pQ->rear = 0;
//    return;
}
bool full_queue(QUEUE *pQ)
{
    if ( (pQ->rear+1)%6 == pQ->front)
    {
        return true;
    }
    else
    {
        return false;
    }
}
bool en_queue(QUEUE *pQ, int val)
{
    if (full_queue(pQ))
    {
        return false;
    }
    else
    {
        pQ->pBase[pQ->rear] = val;
        pQ->rear = (pQ->rear+1)%6;
        return true;
        //pQ->rear(pQ->rear+1)%6;
    }
}

void traverse_queue(QUEUE *pQ)
{
    int i = pQ->front;
    while (i != pQ->rear)
    {
        printf("%d ", pQ->pBase[i]);
        i = (i+1)%6;
    }
}
bool enput_queue(QUEUE *pQ)
{
    if (pQ->front == pQ->rear)
    {
        return true;
    }
    else
    {
        return false;
    }
}
bool output_queue(QUEUE *pQ, int *pVal)
{
    if (enput_queue(pQ))
    {
        return false;
    }
    else
    {
        *pVal = pQ->pBase[pQ->front];
        pQ->front = (pQ->front+1)%6;   
        return true;
    }
}
搜索更多相关主题的帖子: c语言程序 工作 不胜感激 false 
2012-07-25 20:47
westfall999
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:40
专家分:101
注 册:2012-7-22
收藏
得分:20 
#include "stdio.h"
#include "malloc.h"
#define bool int;
#define true 1;
#define false 0;

typedef struct Queue
{
    int *pBase;
    int front;
    int rear;
}QUEUE;

void init(QUEUE *);
bool en_queue(QUEUE *, int val);
void traverse_queue(QUEUE *);
bool full_queue(QUEUE *);
bool out_queue(QUEUE *, int *);
bool emput_queue(QUEUE *);
bool output_queue(QUEUE *pQ, int *pVal);    //添加这一句,否则编译器会找不到函数声明

int main(void)
{
    QUEUE Q;
    int val;
    init(&Q);
    printf("Test printf");
    en_queue(&Q, 1);
    en_queue(&Q, 2);
    en_queue(&Q, 3);
    en_queue(&Q, 4);
    en_queue(&Q, 5);
    traverse_queue(&Q);

    if (output_queue(&Q, &val))
    {
        printf("出队成功,出队元素是:%d\n", val);
    }
    else
    {
        printf("出队失败!\n");
    }
//    printf("dfsdfsdfsdf\n");
    traverse_queue(&Q);
    return 0;
}
void init(QUEUE *pQ)
{
    pQ->pBase = (int *)malloc(sizeof(int)*6);
    //pQ->pBase=0;    //这个地方很明显写错了
    pQ->front = 0;    //改成这一句
    pQ->rear = 0;
//    return;
}
bool full_queue(QUEUE *pQ)
{
    if ( (pQ->rear+1)%6 == pQ->front)
    {
        return true;
    }
    else
    {
        return false;
    }
}
bool en_queue(QUEUE *pQ, int val)
{
    if (full_queue(pQ))
    {
        return false;
    }
    else
    {
        pQ->pBase[pQ->rear] = val;
        pQ->rear = (pQ->rear+1)%6;
        return true;
        //pQ->rear(pQ->rear+1)%6;
    }
}

void traverse_queue(QUEUE *pQ)
{
    int i = pQ->front;
    while (i != pQ->rear)
    {
        printf("%d ", pQ->pBase[i]);
        i = (i+1)%6;
    }
}
bool enput_queue(QUEUE *pQ)
{
    if (pQ->front == pQ->rear)
    {
        return true;
    }
    else
    {
        return false;
    }
}
bool output_queue(QUEUE *pQ, int *pVal)
{
    if (enput_queue(pQ))
    {
        return false;
    }
    else
    {
        *pVal = pQ->pBase[pQ->front];
        pQ->front = (pQ->front+1)%6;   
        return true;
    }
}
2012-07-27 12:35
快速回复:c语言程序在运行时没有错误没有警告就是exe停止工作怎么回事急需大神解 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030995 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved