ZKX's LAB

链表最后一组数据输出错误 C语言:一个简单的学生成绩系统,用的是链表。能输出数据但是会提示停止工作,求指点

2021-04-09知识10

要求利用单链表输入一个一维数组,然后再遍历输出,错误我知道,求大神帮忙修改~ 这个程序只有一个问题,我不知道你是不是故意写成这样来挑战自己的。你用scanf输入的是整型变量,却把链表结点的数据域定义成字符数组,这样写起来输入倒是没问题,输出要经过一段折腾,如果你想维持结点数据域不变的话,Printlist里的输出语句就得这样改:prinf(\"%d\",*(int*)(p->;a));把指针转换为int*型然后取值。当然如果你的本意是让链表存整型数据的话,NODE那边改成这样:typedef struct block{int a;struct block*next;}NODE;然后把下面的scanf和printf改一改就行。最后提示一下,VS里可以不用scanf_s和printf_s这种带_s后缀的函数。只要在程序的开头加上define_CRT_SECURE_NO_WARNINGS就行。

C语言怎么从文件中读出一组数,然后再逆序输出,不用数组用链表来操作 1.dat12 36 98 75 4 6 85 107 52includeincludeincludetypedef struct_Node{int nData;struct_Node*pNext;}Node;void PrintNode(Node*node){if(NULL。node->;pNext){printf(\"%d\",node->;nData);PrintNode(node->;pNext);}}int main(void){FILE*fp=NULL;char a[128]={0};char*p=NULL;Node*head=NULL;Node*node=NULL;if((fp=fopen(\"1.dat\",\"r\"))=NULL){printf(\"文件打开错误\");return-1;}fgets(a,sizeof(a),fp);printf(\"a=s\\n\",a);head=(Node*)malloc(sizeof(Node));head->;pNext=NULL;p=strtok(a,\"\");while(NULL。p){node=(Node*)malloc(sizeof(Node));node->;nData=atoi(p);node->;pNext=head->;pNext;head->;pNext=node;p=strtok(NULL,\"\");}PrintNode(head->;pNext);printf(\"\\n\");return 0;}

在数据结构中怎样进行单链表的输入输出? /创建一个单链表includeincludetypedef struct lnode*pointer;struct lnode{int data;struct lnode*next;};typedef pointer lklist;void create(lklist&l){int x;lklist r;l=(lklist)malloc(sizeof(struct lnode));r=l;printf(\"Input the elemment:\");scanf(\"%d\",&x);输入元2113素while(x。0)/以0作为结束标志5261{4102 lklist s;s=(pointer)malloc(sizeof(struct lnode));s->;data=x;r->;next=s;r=s;scanf(\"%d\",&x);}r->;next=NULL;}void output(lklist l)/输出单链1653表的元素{lklist p;p=l->;next;while(p。NULL){printf(\"%d\",p->;data);p=p->;next;}}

#链表最后一组数据输出错误

随机阅读

qrcode
访问手机版