m0_56720327 2022-09-21 20:37 采纳率: 83.3%
浏览 18
已结题

为什么C语言在输入数据后多输出了一个数字才会输出结果

为什么C语言在输入数据后多输出了一个数字才会输出结果

img


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

typedef int ElemType;  
typedef struct LNode
{
    ElemType data;
    struct LNode * next;
}LNode,*pLinkList;
typedef LNode * PNode;

//创建带有头结点的空链表
pLinkList SetNullList_Link()
{
    pLinkList head = (pLinkList)malloc(sizeof(LNode)); //申请头结点空间
    if (head != NULL)
        head->next = NULL;
    else
        printf("申请头节点空间失败!\n");
    return head; //返回头指针
}

int IsNull_Link(pLinkList head) //判断链表是否为空,空返回1,非空返回0
{
    return(head->next == NULL);
} 
//1)初始化有序单链表L。
void CreatList(LNode*& L, int arry[], int length)
{
    L = (LNode*)malloc(sizeof(LNode));
    LNode* p, * pre, * s;
    s = L;
    for (int i = 0; i < 2; i++)
    {
        p = (LNode*)malloc(sizeof(LNode));
        p->data = arry[i];
        s->next = p;
        s = p;
    }
    L->next->next = NULL;
    for (int i = 1; i < length; i++)
    {
        p = (LNode*)malloc(sizeof(LNode));
        p->data = arry[i];
        pre = L;
        while (pre->next != NULL && pre->next->data < p->data){
            pre = pre->next;
        }
        p->next = pre->next;
        pre->next = p;
    }
}

void printList(pLinkList list)
{
    PNode  temp = list->next;
    int i = 0;
    while (temp)
    {
        printf("%d ", temp->data);
        temp = temp->next;
    }
    printf("\n");
}

int main()
{
    int Index;
    pLinkList L= NULL;
    L = SetNullList_Link();
    int num,arr[50];
    printf("输入初始化链表的元素个数:"); 
    scanf("%d",&num);
    printf("请输入数据(用空格分开):"); 
    for(int i=0;i<num;i++){
    scanf("%d ",&arr[i]);
    }
    CreatList(L,arr,num);
    printList(L);
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-09-21 20:42
    关注

    scanf("%d ",&arr[i]);
    把%d后面的空格删掉

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月29日
  • 已采纳回答 9月21日
  • 创建了问题 9月21日

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)