有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

52576e3f3e88cdba3e95b46ad3ed0287.png

#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;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解 Java NIO

详解 Java NIO 文件的抽象化表示&#xff0c;字节流以及字符流的文件操作等属于传统 IO 的相关内容&#xff0c;我们已经在前面的文章进行了较为深刻的学习了。 但是传统的 IO 流还是有很多缺陷的&#xff0c;尤其它的阻塞性加上磁盘读写本来就慢&#xff0c;会导致 CPU 使用…

电气工程及其自动化学不学c语言,电气工程及其自动化学什么 就业方向有哪些...

电气工程及其自动化学什么 就业方向有哪些2019-05-05 11:16:29文/刘美娟电气工程及其自动化专业是电气信息领域的一门新兴学科&#xff0c;触角伸向各行各业&#xff0c;小到一个开关的设计&#xff0c;大到宇航飞机的研究&#xff0c;都有它的身影。由于和人们的日常生活以及工…

Tomcat(一):简介

一、概念 Tomcat 服务器是一个开源的轻量级Web应用服务器&#xff0c;在中小型系统和并发量小的场合下被普遍使用&#xff0c;是开发和调试Servlet、JSP 程序的首选。 二、原理 Tomcat结构图&#xff1a; ​ Tomcat主要组件&#xff1a;服务器Server&#xff0c;服务Serv…

Tomcat(二):server.xml配置

一、server.xml详解 Tomcat各组件关系图 ​ 1、Server ​ server.xml的最外层元素。 常用属性&#xff1a; ​ port&#xff1a;Tomcat监听shutdown命令的端口。 ​ shutdown&#xff1a;通过指定的端口&#xff08;port&#xff09;关闭Tomcat所需的字符串。修改shutd…

Tomcat(四):发布和优化

一、发布Web项目的三种方式 1、在server.xml文件中找到标签元素&#xff0c;在其下使用标签配置&#xff0c;一个标签就代表一个web应用。 path属性&#xff1a;虚拟目录的名称&#xff0c;也就是对外访问路径。 docBase属性&#xff1a;web应用所在硬盘中目录地址 reloada…

Android的APP多版本,Android多版本共存-基于gradle实现debug版和release版app共存

在开发中&#xff0c;测试环境与正式环境是分开的&#xff0c;常常需要修改配置打不同环境下的apk,而且如何在android平台下让debug和release的app共存&#xff1f;本着提高效率避免重复工作的目的与大家分享一个方案。本文是基于强大的AndroidStudio的构建工具gradle来实现的。…

java用XSSFWorkbook实现读写Excel

写在最前面&#xff1a;     使用的是JAVA POI实现的导出Excel&#xff1b;     POI 提供了对2003版本的Excel的支持 ---- HSSFWorkbook     POI 提供了对2007版本以及更高版本的支持 ---- XSSFWorkbook 引入相关依赖&#xff1a; <dependency><groupId&g…

android 代码植入,Android Studio之Debug(一):运行期代码植入

我们开发中经常使用IDE的Debug功能&#xff0c;使用最频繁的就是断点查看变量内容&#xff0c;这篇文章主要是介绍在Debug时很常用的一些功能&#xff0c;如Debug变量更新、动态代码植入等。背景看下面一段代码DataToStringAllArgsConstructorpublic class User {private Strin…

Java中导入、导出Excel——HSSFWorkbook 使用

一、介绍 当前B/S模式已成为应用开发的主流&#xff0c;而在企业办公系统中&#xff0c;常常有客户这样子要求&#xff1a;你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是&#xff1a;我们已经习惯用Excel打印。这样在我们实际的开发中&#xff0c;很多时候需要…

android系统电视缺点,高清智能电视安卓系统优势与不足解析

今年&#xff0c;高清智能电视开始成为平板电视市场的一大焦点&#xff0c;其凭借丰富的应用软件打下了大片的“江山”&#xff0c;作为高清智能电视&#xff0c;其高清晰度画面是必然的追求&#xff0c;而应用的丰富度是其最大的买点&#xff0c;其中最为关键的当属智能操作系…

基于流的EXCEL文件导出,SXSSFWorkbook源码解析

当我们在实现excel导出时&#xff0c;在数据量过大的情况下&#xff0c;总是容易发生内存溢出的情况。我们可以使用POI提供的 SXSSFWorkbook 类来避免内存溢出。 注&#xff1a;基于POI4.10版本源码 以下是官方文档对SXSSF包的说明&#xff1a; SXSSF (package: org.apache.p…

【POI】读取Excel表中的数据

确认需要读取的表格的内容: 导入依赖&#xff1a; <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.1</version></dependency>package com.example;import org.apache.poi.s…

w15php系列之基础类型

一、计算100之内的偶数之和 实现思路 所有的偶数除2都为0 代码实现 <?php # 记录100以内的偶数和 $number1; $num0; while($number<100){if($number%20){ $num$number;}$number1; } echo $num; ?>输出的结果 二、计算100之内的奇数之和 实现思路 所有的奇数除…

android 魅族系统升级,魅族Flyme6底层安卓系统升级到了Android7.0/7.1,为何时间这么久?...

国产手机系统中&#xff0c;小米的MIUI和魅族的flyme有着众多的用户。相比魅族的系统来说小米MIUI在更新速度上更胜一筹&#xff0c;开玩笑的讲&#xff0c;小米系统已经升级到了MIUI9而魅族仅仅才Flyme6(当然&#xff0c;这更多的是调侃)。不过也从侧面看出&#xff0c;魅族在…

SVN 回滚(撤回)提交的代码

一、 TortoiseSVN -> Show log 二、 注意&#xff1a;步骤二只是让你本地的代码回滚&#xff08;撤回&#xff09;到你未提交前的一个版本&#xff0c;并不会更新到SVN服务器上&#xff0c;也就是说你的同事依然能更新到你错误提交的代码。 右键点击你想撤回的提交 -&g…

Navicat工具获取操作数据库和表的SQL语句

工具 Navicat Premium 15MySQL服务器技术 SQL语句MySQL 在使用Navicat Premium 15客户端时&#xff0c;对数据库和表进行操作&#xff0c;会产生SQL语句。有时我们不记得SQL语句如何编写&#xff0c;可以直接从工具中获取SQL语句。下面利用实例说明获取SQL语句的几种方法&…

html自动适应屏幕分辨率,css如何自适应屏幕大小?

css如何自适应屏幕大小&#xff1f;下面本篇文章给大家介绍一下使用CSS实现屏幕大小自适应的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。css如何自适应屏幕大小&#xff1f;要想实现css屏幕大小自适应&#xff0c;首先得引入…

Navicat Premium 12连接SQLServer[ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序

报错截图&#xff1a; 解决办法&#xff1a; 右击安装图标&#xff0c;点击“打开文件所在位置” 找到下图程序&#xff0c;按自己情况安装 全都默认“下一步”就行。 安装完成后&#xff0c;关闭程序重新打开就可以了。

Springboot的异步、定时、邮件任务

一、异步任务 ​ 1、编写一个类AsyncService ​ 异步处理还是非常常用的&#xff0c;比如我们在网站上发送邮件&#xff0c;后台会去发送邮件&#xff0c;此时前台会造成响应不动&#xff0c;直到邮件发送完毕&#xff0c;响应才会成功&#xff0c;所以我们一般会采用多线程的…

raml2html 安装,Raml实践

Raml实践简介&#xff1a;RAML的全称是RESTful API Modeling Language&#xff0c;这是一种用来描述基于Restful架构的API(设计API)的语言。它的语法规范是基于YAML的新规范&#xff0c;因此机器与人类都能够轻易地理解其中的内容。一、工具安装一、API Workbench(客户端工具-推…