有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include /* malloc()等 */
#include
#include
#include /* exit() */
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */
typedef int Boolean; /* Boolean是布尔类型,其值是TRUE或FALSE */
typedef int SELemType;
typedef int Status; /* 定义栈顶元素类型,此句要在c3-1.h的前面 */
typedef struct Node
{
SELemType data;
struct Node *next;
}Node,*LinkStackPtr;
typedef struct LinkStack
{
LinkStackPtr top;
int count;/*记录链栈的元素个数*/
}LinkStack; /* 链栈 */
/* 链栈的基本操作(9个) */
Status InitStack(LinkStack *S)
{ /* 构造一个空栈S */
LinkStackPtr p;
p=(LinkStackPtr)malloc(sizeof( Node));
if(!p)
exit(OVERFLOW); /* 存储分配失败 */
p->next=NULL;
S->top=p;
S->count=0;
return OK;
}
Status ClearStack(LinkStack *S)/*清空链栈*/
{
LinkStackPtr p;
while(S->top)
{
p=S->top;
S->top=S->top->next;
S->count--;
free(p);
}
return OK;
}
Status DestroyStack(LinkStack *S)
{ /* 销毁栈S,S不再存在 */
ClearStack(&*S);
free(S);
return OK;
}
Status StackEmpty(LinkStack S)
{ /* 若栈S为空栈,则返回TRUE,否则返回FALSE */
if(S.top)
return TRUE;
else
return FALSE;
}
int StackLength(LinkStack S)
{ /* 返回S的元素个数,即栈的长度 */
return S.count;
}
Status GetTop(LinkStack S,SELemType*e)
{ /* 若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR */
if(!S.top) return ERROR;
*e=S.top->data;
return OK;
}
Status Push(LinkStack *S,SELemType e)
{ /* 插入元素e为新的栈顶元素 */
LinkStackPtr p=(LinkStackPtr)malloc(sizeof(Node));
p->data=e;
p->next=S->top;
S->top=p;
S->count++;
return OK;
}
Status Pop(LinkStack *S,SELemType *e)
{ /* 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR */
LinkStackPtr p;
if(!S->top) return ERROR;
p=S->top;
S->top=S->top->next;
S->count--;
free(p);
return OK;
}
Status visit(SELemType a)
{
printf("%d",a);
return OK;
}
Status StackTraverse(LinkStack S)
{ /* 从栈底到栈顶依次对栈中每个元素调用函error C2081: 'SElemType' : name in formal parameter list illegal数visit() */
LinkStackPtr p;
p=S.top;
while(p)
{
visit(p->data);
p=p->next;
}
printf("\n");
return OK;
}
int main()
{ int i;
SELemType e;
LinkStack s;
if(InitStack(&s))
for(i=1;i<=10;i++)
Push(&s,i);
printf("压栈操作后,栈中元素为:\n");
StackTraverse(s);
Pop(&s,&e);
printf("出栈操作后,弹出的元素为:%d\n",e);
Pop(&s,&e);
printf("再次出栈操作后,弹出的元素为:%d\n",e);
printf("Push将刚刚弹出的元素%d再次压入栈中\n");
Push(&s,e);
printf("StackEmpty判断栈是否为空:%d(1:是 0:不是)\n",StackEmpty(s));
GetTop(s,&e);
printf("GetTop当前的栈顶元素为:%d\n",e);
printf("StackLength:当前的栈的长度为:%d\n",StackLength(s));
ClearStack(&s);
printf("ClearStack栈清空后,StackEmpty栈是否为空:%d(1:是 0:不是)%d",StackEmpty(s));
DestroyStack(&s);
printf("DestroyStack栈销毁");
return 0;
}
有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...相关推荐
- c语言补全程序,跪求高手解答简单的程序补全题~!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 英勇的你不断疯狂的射击天上的幽灵,这些太空怪物也毫不留情地还击,逼得你只好左闪右闪地躲,但是你仍奋战不懈,穿梭于枪林弹雨之中,直到你消灭所有的幽灵,或者是 ...
- python 10053_python 写的selenium脚本不能循环,循环时会报 [WinError 10053] 你的主机中的软件中止了一个已建立的连接。错误,求大佬解答下...
用python写了一段自动化脚本,在循环的时候报ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接.错误,第一次执行没有问题,就是 ...
- c语言链表萌新,萌新一枚,关于链表问题求大佬解答
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 代码如下 #include #include #include struct student { int num; float score; struct ...
- exchange邮箱一直提示密码错误,密码是正确的,求大佬解答
- pcl的安装错误和高翔第5讲程序编译错误recipe for target 'all' failed
今天编译程序的时候 遇到了这个错误: Makefile:149: recipe for target 'all' failed 之前其实安装pcl时也遇到过,但是以为是资源或者一些小原因,就只是照着网 ...
- 单片机c语言编译过程,单片机C程序编译、执行过程
1.编写C代码: 1)预编译代码 2)定义及声明变量 3)定义及声明函数 4)编写程序代码(主函数MAIN) 2.编译器编译: 1) 预处理 此时编译器会扫描一个一个的C源文件,如果发现#includ ...
- c语言坐标海伦公式,C语言:用海伦公式求三角形面积 , C语言编程问题,利用海伦公式求三角形面积...
导航:网站首页 > C语言:用海伦公式求三角形面积 , C语言编程问题,利用海伦公式求三角形面积 C语言:用海伦公式求三角形面积 , C语言编程问题,利用海伦公式求三角形面积 匿名网友: 程序已 ...
- 手机程序安装时几种有错误提示的解决办法
错误提示一:证书过期 问题说明:软件证书过期. 解决办法:1:把手机时间调到证书的期限内(把手机时间往前调几个月)再安装,安装完毕后调回正确时间 ...
- 抛出错误_不用try catch,如何机智的捕获错误
这是多个feature组合使用后实现的神奇效果,在React源码中被广泛使用. 当我读源码看到这里时,心情经历了: 懵逼 -- 困惑 -- 沉思 -- 查文档 -- 豁然开朗 看完此文,相信你也会发出 ...
最新文章
- HLS协议及java切片相关
- java c c 的应用_javac 简单应用
- Go interface 操作示例
- stopped状态的进程 top 命令_30 个实例详解 TOP 命令!
- 实现简单的shell sed替换功能
- Windows负载机JVM 远程监控Linux服务器下tomcat
- 高级参数绑定(数组和List绑定)
- html文件调整表格边框的属性,css怎么设置表格边框?
- JAVA创建内部类对象
- cad画流程图的插件_PIDCAD工艺流程图绘图软件
- svn: E230001: Server SSL certificate verification failed: certificate issued for a different hostnam
- 禁用 SQL 游标,告诉你外面听不到的原因【内含福利】
- Android 获取/设置:窝蜂移动数据网络状态
- 【数据分析与可视化】股票市场分析实战之历史趋势分析
- CSS第7章上机练习1(制作QQ会员页面导航)
- iOS - 内存管理
- 枫叶蓝代码生成工具 和对服装行业的一些感悟
- (转)ibatis Tips 之 java.util.Map作为parameterClass和resultClass
- TTL、RS232、485到底能传输多远距离?
- a轮融资计划书PPT模板
热门文章
- 合并两个链表数据结构c语言,合并两个链表.
- hive分区用2个字段有何限制_[特性]Hive动态分区功能使用
- qc35 说明书_使用Bose QC35 2年的心得 | 迟而不迟的深度体验 | 文附佩戴效果照片...
- sql server修改字段编码格式_关于MySQL如何修改character_set_client的编码问题
- ruby中!!_Ruby反向! 功能
- 使用 Redis 如何实现查询附近的人?「视频版」——面试突击 003 期
- Oracle plsql 月历
- Oracle 创建表 练习题
- java+包装类,装箱和拆箱_Java包装类,装箱和拆箱详解
- 精通ASP.NET MVC ——辅助器方法