#include <iostream.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct lnode{
int date;
struct lnode *next;
}lnode,*linklist;
void createlistz(linklist &l, int n){
l=(linklist)malloc(sizeof(lnode));
int i;linklist p,q;
cout<<"请输入"<<n<<"个值:";
p=(linklist)malloc(sizeof(lnode));
q=p;
cin>>p->date;
l->next=p;
for(i=2;i<=n;i++){
p=(linklist)malloc(sizeof(lnode));
cin>>p->date;
q->next=p;
q=p;
}
}
void outputlist(linklist l){
cout<<"l的元素为:";
for(;l->next;){
cout<next->date;
l=l->next;
}
}
void main(){
linklist l;int e;
createlistz(l,5);
outputlist(l);
}
输出的for循环出了什么问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
qzjhjxj 2022-10-28 21:55关注改动处见注释,供参考:
#include <iostream> //#include <iostream.h> //#include <string.h> //#include <stdio.h> #include <cstdlib> using namespace std; typedef struct lnode{ int date; struct lnode *next; }lnode,*linklist; void createlistz(linklist &l, int n) { l=(linklist)malloc(sizeof(lnode)); int i; linklist p,q; cout<<"请输入"<<n<<"个值:"; p=(linklist)malloc(sizeof(lnode)); p->next = NULL; //修改 q=p; cin>>p->date; l->next=p; for(i=2;i<=n;i++){ p=(linklist)malloc(sizeof(lnode)); p->next = NULL; //修改 cin>>p->date; q->next=p; q=p; } } void outputlist(linklist l){ cout<<"l的元素为:"; for(;l->next;){ cout<<l->next->date<<" "; //修改 //cout<next->date; l=l->next; } } void main() { linklist l; int e; createlistz(l,5); outputlist(l); }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报