标题:请问为什么输出队的第一个是问号
取消只看楼主
魂梦
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2021-4-9
结帖率:0
已结贴  问题点数:20 回复次数:3 
请问为什么输出队的第一个是问号
#include<stdio.h>
#include<malloc.h>
#define MS 10
typedef  int  ET;
typedef struct
{
    ET data[MS];
    int front,rear,count;
}SqQueue;
void CS(SqQueue*&q)//初始化一个队
{
    q=(SqQueue*)malloc(MS*sizeof(SqQueue));//给队空间
    q->front =q->rear=0;//头指针等于尾指针,初始化。
    q->count=0;//队的长度
}
void XH(SqQueue*&q)//初始化
{
    free(q);
}
bool KD(SqQueue*q)//判断队是否为空
{
    if(q->front =q->rear)
    {
        printf("队为空。\n");
        return false;
    }
    else
    {
        printf("队不为空。\n");   
        return 0;
    }
}
bool JD(SqQueue*&q,ET e)//进队
{
    if((q->rear+1)%MS==q->front)//判断队满溢出情况
        return false;
    q->rear=(q->rear+1)%MS;
    q->data[q->rear]=e;
    return 0;
        
}
bool CD(SqQueue*q,ET e)//出队
{
    if(q->front==q->rear)//对空
        return false;
    else
        q->front=(q->front+1)%MS;
        e=q->data[q->front];
        return 0;
}
bool SC(SqQueue*q)//输出元素
{
    printf("队中元素为:\n");
    for(int i=q->front;i<=q->rear;i++)
    {
    printf("%c\n",q->data[i]);
    }
    return false;
}
void main()
{
    ET e;
    SqQueue*L;
    CS(L);
    KD(L);
    JD(L,'a');
    JD(L,'b');
    JD(L,'c');
    JD(L,'d');
    JD(L,'e');
    JD(L,'f');
    SC(L);
    CD(L,e);
    SC(L);
}
输出后第一个是问号。
搜索更多相关主题的帖子: printf 输出 return bool data 
2021-04-09 18:46
魂梦
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2021-4-9
得分:0 
回复 2楼 apull
谢谢,我这边改一下。
2021-04-13 16:24
魂梦
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2021-4-9
得分:0 
回复 3楼 rjsp
c语言。c++我还没有学到。
2021-04-13 16:24
魂梦
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2021-4-9
得分:0 
回复 6楼 rjsp
我也很奇怪,之前别的的也是莫名其妙的运行起来了。
2021-04-18 15:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505389-1-1.html




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

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