问题:无法实现按回车结束输入
麻烦各位大家帮忙优化下!!谢谢!!
#include<iostream>
#include<string>
using namespace std;
typedef int DataType;
typedef struct node {
DataType data;
node* next;
}ListNode;
typedef ListNode* LinkList;
//有头结点的尾插法
LinkList CreateListR1() {
DataType data = 0;
LinkList head = (ListNode*)malloc(sizeof(ListNode));
ListNode* p , * r = head; //p是新结点,r为当前结点
cout << "请输入整数:";
//碰到换行符则结束
while (cin >> data) {
if (data % 1 == 0) {
p = (ListNode*)malloc(sizeof(ListNode)); //申请结点
p->data = data;
r->next = p;
r = p;
}
}
r->next = NULL;
return head;
}
//输出
void printLinkList(const LinkList& head) {
ListNode* p = head->next;
while (p != NULL ) {
cout << p->data << " ";
p = p->next;
}
cout << endl;
}
int main() {
//初始化链表的头结点,创建链表
LinkList head = CreateListR1();
//输出链表
printLinkList(head);
//释放
free(head);
system("pause");
return 0;
}
