C语言菜鸟求助,[Error] expected identifier before 'false'

only_one_moment 2015-10-19 11:37:08
#include <stdio.h>
#include <stdlib.h>

#define ERROR NULL
typedef enum {false, true} bool;
typedef int ElementType;
typedef struct LNode *PtrToLNode;
struct LNode {
ElementType Data;
PtrToLNode Next;
};
typedef PtrToLNode Position;
typedef PtrToLNode List;

List MakeEmpty();
Position Find( List L, ElementType X );
bool Insert( List L, ElementType X, Position P );
bool Delete( List L, Position P );

int main()
{
List L;
ElementType X;
Position P;
int N;
bool flag;

L = MakeEmpty();
scanf("%d", &N);
while ( N-- ) {
scanf("%d", &X);
flag = Insert(L, X, L->Next);
if ( flag==false ) printf("Wrong Answer\n");
}
scanf("%d", &N);
while ( N-- ) {
scanf("%d", &X);
P = Find(L, X);
if ( P == ERROR )
printf("Finding Error: %d is not in.\n", X);
else {
flag = Delete(L, P);
printf("%d is found and deleted.\n", X);
if ( flag==false )
printf("Wrong Answer.\n");
}
}
flag = Insert(L, X, NULL);
if ( flag==false ) printf("Wrong Answer\n");
else
printf("%d is inserted as the last element.\n", X);
P = (Position)malloc(sizeof(struct LNode));
flag = Insert(L, X, P);
if ( flag==true ) printf("Wrong Answer\n");
flag = Delete(L, P);
if ( flag==true ) printf("Wrong Answer\n");
for ( P=L->Next; P; P = P->Next ) printf("%d ", P->Data);
return 0;
}
List MakeEmpty(){
List l;
l=(List)malloc(sizeof(struct LNode));
l->Next=NULL;
return l;
}
Position Find( List L, ElementType X ){
L=L->Next;
while(L){
if(L->Data==X)
return L;
L=L->Next;
}
if(!L)
return NULL;
}
bool Insert( List L, ElementType X, Position P ){
if(!P){
printf("Wrong Position for Insertion");
return false;
}
List s=(List)malloc(sizeof( struct LNode));
s->Next=P->Next;P->Next=s;
return true;
}
bool Delete( List L, Position P ){
if(!P){
printf("Wrong Position for Deletion");
return false;
}
Position q=P;
P=P->Next;
free(q);
return true;
}
...全文
2318 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
来自比邻星 2019-01-16
  • 打赏
  • 举报
回复
楼主,你这是C语言的写法,但是文件确却是C++后缀名,建立的文件不对,所以报错
醉花阴柳 2015-10-23
  • 打赏
  • 举报
回复
楼主标题标明c语言,却又是c++代码,麻烦下次选好分类
only_one_moment 2015-10-21
  • 打赏
  • 举报
回复
引用 4 楼 baijiaheizhiganmao 的回复:
typedef enum {false, true} bool; 删掉这句.false和true是内置的,你完全可以直接拿来用.
但是这个是示例,是不能删的。只可以改自己写的子程序
only_one_moment 2015-10-21
  • 打赏
  • 举报
回复
引用 2 楼 wang0635 的回复:
文件名改成 1.c 试试。好像在C++中false是个关键字
不行。。。
灰太狼灬狼族 2015-10-21
  • 打赏
  • 举报
回复
wang0635 2015-10-21
  • 打赏
  • 举报
回复
Dev C++中,新建项目时,选择C项目,这样自动产生的文件就是C语言文件,而不是C++的了 再把你上面那些代码复制进去 编译就按C语言的语法了
only_one_moment 2015-10-21
  • 打赏
  • 举报
回复
only_one_moment 2015-10-21
  • 打赏
  • 举报
回复
这是题目要求
wang0635 2015-10-21
  • 打赏
  • 举报
回复
引用 9 楼 only_one_moment 的回复:
应该是我自己写的子函数不正确和原来主函数没关系的
把文件名 “数组作业1.cpp” 改成 “数组作业1.c“
only_one_moment 2015-10-21
  • 打赏
  • 举报
回复
应该是我自己写的子函数不正确和原来主函数没关系的
only_one_moment 2015-10-21
  • 打赏
  • 举报
回复
引用 7 楼 wang0635 的回复:
引用 6 楼 only_one_moment 的回复:
[quote=引用 2 楼 wang0635 的回复:]
文件名改成 1.c 试试。好像在C++中false是个关键字
不行。。。

将编译器出错信息完整贴上来看看[/quote]
wang0635 2015-10-21
  • 打赏
  • 举报
回复
引用 6 楼 only_one_moment 的回复:
引用 2 楼 wang0635 的回复:
文件名改成 1.c 试试。好像在C++中false是个关键字
不行。。。
将编译器出错信息完整贴上来看看
忘世麒麟 2015-10-20
  • 打赏
  • 举报
回复 2
typedef enum {false, true} bool; 删掉这句.false和true是内置的,你完全可以直接拿来用.
醉花阴柳 2015-10-20
  • 打赏
  • 举报
回复
c语言中没有布尔类型,你可以考虑用c99标准添加的_Bool类型
wang0635 2015-10-19
  • 打赏
  • 举报
回复
文件名改成 1.c 试试。好像在C++中false是个关键字
only_one_moment 2015-10-19
  • 打赏
  • 举报
回复
就是做一个带头结点的链表的操作,只有子函数是我们的作业,前面的头文件的声明都是不能动的,但是出现了
5 14 E:\未命名1.cpp [Error] expected unqualified-id before 'false'
5 14 E:\未命名1.cpp [Error] expected identifier before 'false'
这两个错误。没找出来。求帮助,谢谢~~~
2022 / 01/ 30: 新版esptool 刷micropython固件指令不是 esptool.py cmd... 而是 esptool cmd... 即可;另外rshell 在 >= python 3.10 的时候出错解决方法可以查看:  已于2022年发布的: 第二章:修复rshell在python3.10出错 免费内容: https://edu.csdn.net/course/detail/29666 micropython语法和python3一样,编写起来非常方便。如果你快速入门单片机玩物联网而且像轻松实现各种功能,那绝力推荐使用micropython。方便易懂易学。 同时如果你懂C语音,也可以用C写好函数并编译进micropython固件里然后进入micropython调用(非必须)。 能通过WIFI联网(2.1章),也能通过sim卡使用2G/3G/4G/5G联网(4.5章)。 为实现语音控制,本教程会教大家使用tensorflow利用神经网络训练自己的语音模型并应用。为实现通过网页控制,本教程会教大家linux(debian10 nginx->uwsgi->python3->postgresql)网站前后台入门。为记录单片机传输过来的数据, 本教程会教大家入门数据库。  本教程会通过通俗易懂的比喻来讲解各种原理与思路,并手把手编写程序来实现各项功能。 本教程micropython版本是 2019年6月发布的1.11; 更多内容请看视频列表。  学习这门课程之前你需要至少掌握: 1: python3基础(变量, 循环, 函数, 常用库, 常用方法)。 本视频使用到的零件与淘宝上大致价格:     1: 超声波传感器(3)     2: MAX9814麦克风放大模块(8)     3: DHT22(15)     4: LED(0.1)     5: 8路5V低电平触发继电器(12)     6: HX1838红外接收模块(2)     7:红外发射管(0.1),HX1838红外接收板(1)     other: 电表, 排线, 面包板(2)*2,ESP32(28)  

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧