#include<stdio.h>
#include<stdlib.h>
#include”标头.h”
int main(void)
{
int Order = 0;
printf(“请输入命令数:\n”);
scanf(“%d”, &Order);
printf(“输入代码后回车。\n”);
for (int i = 0; i < Order; i++)
{
char buf[20];
scanf_s(“%s”, buf, 19);
switch (buf[0])
{
case “C”:
{
LnList PLink = (LnList)malloc(sizeof(LList));
PLink = createLnList();
//这里本人原来是PNode PLink = createLnList();的
后来提示错误 2 error C2065: “PLink”: 未声明的标识符 g:\学习\vs数据结构\链式顺序表\链式顺序表\源.cpp 38 1 链式顺序表
“PLink”: 未声明的标识符
int test = 0;
scanf(“%d”, &test);
break;
}
case “A”:
{
if (buf[1] = “P”)
{
printf(“输入添加的值:x=?\n”);
int a = 0;
scanf(“%d”, &a);
appendElemLnList(PLink, a);
}
else
{
int j, x;
printf(“请输入index和x(用空格隔开)。\n”);
scanf(“%d %d”, &j, &x);
inserPreLnList(PLink, j, x);
}
break;
}
case “P”:
{
printLnList(PLink);
break;
}
case “R”://删除下标为p的节点,也就是删除第p+1个元素
{
printf(“请输入要删除元素的下标:\n”);
int xiabiao;
scanf(“%d”, &xiabiao);
deleteIndexLnList(PLink, xiabiao + 1);
break;
}
case “D”:
{
destroyLnList(PLink);
}
}
}
printf(“\n\n\n输入任何字符可以关闭程序~\n\n”);
getchar();
return 0;
}
#include<stdlib.h>
#include”标头.h”
int main(void)
{
int Order = 0;
printf(“请输入命令数:\n”);
scanf(“%d”, &Order);
printf(“输入代码后回车。\n”);
for (int i = 0; i < Order; i++)
{
char buf[20];
scanf_s(“%s”, buf, 19);
switch (buf[0])
{
case “C”:
{
LnList PLink = (LnList)malloc(sizeof(LList));
PLink = createLnList();
//这里本人原来是PNode PLink = createLnList();的
后来提示错误 2 error C2065: “PLink”: 未声明的标识符 g:\学习\vs数据结构\链式顺序表\链式顺序表\源.cpp 38 1 链式顺序表
“PLink”: 未声明的标识符
int test = 0;
scanf(“%d”, &test);
break;
}
case “A”:
{
if (buf[1] = “P”)
{
printf(“输入添加的值:x=?\n”);
int a = 0;
scanf(“%d”, &a);
appendElemLnList(PLink, a);
}
else
{
int j, x;
printf(“请输入index和x(用空格隔开)。\n”);
scanf(“%d %d”, &j, &x);
inserPreLnList(PLink, j, x);
}
break;
}
case “P”:
{
printLnList(PLink);
break;
}
case “R”://删除下标为p的节点,也就是删除第p+1个元素
{
printf(“请输入要删除元素的下标:\n”);
int xiabiao;
scanf(“%d”, &xiabiao);
deleteIndexLnList(PLink, xiabiao + 1);
break;
}
case “D”:
{
destroyLnList(PLink);
}
}
}
printf(“\n\n\n输入任何字符可以关闭程序~\n\n”);
getchar();
return 0;
}
解决方案
40
原因是PLink的作用域的问题所以报错,你把PLink往外挪一层就行了
#include<stdio.h> #include<stdlib.h> #include"标头.h" int main(void) { int Order = 0; printf("请输入命令数:\n"); scanf("%d", &Order); printf("输入代码后回车。\n"); for (int i = 0; i < Order; i++) { LnList PLink; char buf[20]; scanf_s("%s", buf, 19); switch (buf[0]) { case "C": { PLink = (LnList)malloc(sizeof(LList)); PLink = createLnList(); //这里本人原来是PNode PLink = createLnList();的 后来提示错误 2 error C2065 : “PLink” : 未声明的标识符 g : \学习\vs数据结构\链式顺序表\链式顺序表\源.cpp 38 1 链式顺序表 “PLink” : 未声明的标识符 int test = 0; scanf("%d", &test); break; } case "A": { if (buf[1] = "P") { printf("输入添加的值:x=?\n"); int a = 0; scanf("%d", &a); appendElemLnList(PLink, a); } else { int j, x; printf("请输入index和x(用空格隔开)。\n"); scanf("%d %d", &j, &x); inserPreLnList(PLink, j, x); } break; } case "P": { printLnList(PLink); break; } case "R"://删除下标为p的节点,也就是删除第p+1个元素 { printf("请输入要删除元素的下标:\n"); int xiabiao; scanf("%d", &xiabiao); deleteIndexLnList(PLink, xiabiao + 1); break; } case "D": { destroyLnList(PLink); } } } printf("\n\n\n输入任何字符可以关闭程序~\n\n"); getchar(); return 0; } 更多 0