平台编译器不支持c++,有没有人帮帮忙看一下要怎么改啊
#include <stdio.h>
#include <malloc.h>
// 链表节点结构
typedef struct Node {
int data;
struct Node* next;
}Node, * LinkList;
// 输出单链表
void show(LinkList L)
{
L->data == -1 ? 0 : printf(L->data == 0 ? "%d\n无公共元素\n" : "%d\n", L->data);
Node* p = L->next;
while (p) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
LinkList findCommonNodes(LinkList L1, LinkList L2)
{
LinkList L = (Node*)malloc(sizeof(Node));
L->data = 0;
L->next = NULL;
Node* p = L1->next, * pL = L;
while (p) {
Node* q = L2->next;
while (q)
{
if (p->data == q->data) {
Node* f = (Node*)malloc(sizeof(Node));
f->next = NULL;
f->data = q->data;
L->data++;
pL->next = f;
pL = f;
break;
}
q = q->next;
}
p = p->next;
}
return L;
}
// 创建链表
void createListFromHead(LinkList L)
{
Node* pL;
int n, i;
L = (Node*)malloc(sizeof(Node));// 创建头
L->data = -1;
L->next = NULL;
pL = L;
scanf("%d", &n);
for (i = 0; i < n; i++) {// 生成链表
Node* p = (Node*)malloc(sizeof(Node));
p->next = NULL;
scanf("%d", &p->data);
pL->next = p;
pL = p;
}
}
int main()
{
LinkList L1, L2, L =0;
createListFromHead(L1);
createListFromHead(L2);
//show(L1);
//show(L2);
show(L = findCommonNodes(L1, L2));
return 0;
}