有没有检查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,一经查实,立即删除!

相关文章

语法分析器c语言实验报告,词法分析实验报告(C++)..doc

词法分析实验报告(C).词法分析实验报告一、实验目的1. 掌握词法分析的原理。2. 熟悉保留字表等相关的数据结构与单词的分类方法。3. 掌握词法分析器的设计与调试。二、实验内容根据编译中的分词原理,用C语言编写一个C语言的词法分析程序:.三、实验要求1. 输入:任意一个C语言程序…

详解 Java NIO

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

转专业计算机c语言,转专业申请美国计算机专业研究生必须要做的准备

先修课——转专业申计算机时&#xff0c;补先修课是使自己match的重要的一步。1.纽约大学的计算机硕士项目(计算机系的M.S. in Computer Science和M.S. in Information Systems项目)对申请人的先修课要求&#xff1a;The minimum prerequisite background for admission to the…

使用between and查找时间范围时的日期边界问题

最近在一个项目的后台数据库查找中&#xff0c;需要根据表中的时间字段查找某一范围内的数据&#xff08;7天、15天、30天&#xff09;&#xff0c;这时我想用between and&#xff08;其实使用DateDiff函数就可以完成&#xff0c;详情请看另一片文章&#xff1a;SQL查询今天、昨…

c语言画爱心附带解释,用C语言画一个“爱心”

/*每个main函数代表一种形状*/#includeusing namespacestd;#include#include/*int main(void){for(float y 1.5f;y > -1.5f;y - 0.06f){for(float x -1.5f;x < 1.5f;x 0.03f){float a x * x y * y - 1;putchar(a * a * a - x * x * y * y * y < 0.0f?^: );}putc…

SQL查询今天、昨天、7天内、30天

今天的所有数据&#xff1a;select * from 表名 where DateDiff(dd,datetime类型字段,getdate())0 昨天的所有数据&#xff1a;select * from 表名 where DateDiff(dd,datetime类型字段,getdate())1 7天内的所有数据&#xff1a;select * from 表名 where DateDiff(dd,dateti…

C语言入门I love China,C语言从入门到精通

如何学习C语言 Ⅰ第1篇 基础知识开启C语言编程世界之门。第1章 步入C的世界——Hello C 2视频教学录像&#xff1a;1小时34分钟你可能已经听说或知道一点C语言&#xff0c;也可能没有任何基础&#xff0c;没关系&#xff0c;本章就带领你进入C语言的编程世界。1.1 了解C语…

电气工程及其自动化学不学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…

c语言的表达式2 4 6 8的值,C语言程序设计测试题二

一、判断题(每题2分&#xff0c;共8分)1.若有int ⅰ10, j0; 则执行完语句if (j0)ⅰ ; else ⅰ- -;ⅰ的值为11。()2.若有 int ⅰ5, j10; 则执行完语句switch ( i ){case 4: j ;case 5: j- - ;case 6: j ;case 7: j- 2;default: ;}后j的值为8。 ( )3.若有 int i10, j2;则执行完ⅰ…

Tomcat(三):日志

一、Tomcat 日志概述 日志分为两种&#xff0c;系统日志和控制台日志。 系统日志主要包含运行中日志和访问日志&#xff0c;分为5类&#xff1a;catalina、localhost、manager、localhost_access、host-manager。在logging.properties文件中进行配置。 控制台日志包含了cata…

Tomcat(四):发布和优化

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

c语言中foreach的用法,详解JavaScript中的forEach()方法的使用

JavaScript数组的 forEach()方法调用数组中的每个元素。语法array.forEach(callback[, thisObject]);下面是参数的详细信息&#xff1a;callback : 函数测试数组的每个元素。thisObject : 对象作为该执行回调时使用。返回值:返回创建数组。兼容性&#xff1a;这种方法是一个Jav…

Java保留两位小数的几种写法总结

相信大家在平时做项目时&#xff0c;可能会有这样的业务需求&#xff1a; 页面或界面上展示的数据保留小数点后两位。 那么这篇文章小编就和大家分享了利用Java保留两位小数的几种写法&#xff0c;文章给出了详细的示例代码&#xff0c;对大家的学习和理解很有帮助&#xff0c;…

二级c语言基础题库100题,二级C语言上题库100题.doc

二级C语言上题库100题二级C语言上机试题汇编第01套&#xff1a;给定程序中&#xff0c;函数fun的功能是&#xff1a;将形参n所指变量中&#xff0c;各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数&#xff0c;并通过形参指针n传回所指变量。例如&#x…

spring boot + vue 前后端分离时间戳转换为 yyyy:MM:dd HH:mm:ss格式

后端 1.model(entity)注释直接转换 当返回类型为resultMap&#xff0c;在entity类里面相应属性上加上以下注释 JsonFormat(pattern“yyyy-MM-dd HH:mm:ss”,timezone“GMT8”)2.Mapper.xml里sql语句转换 select DATE_FORMAT(对应时间属性,’’%Y-%m-%d %H:%i:%s’’) from …

android:configchanges的作用,将uiMode附加到android:configChanges实际做什么?

我只是修复了我们应用程序中的错误.问题在于,对接或取消对接设备会导致应用程序重新启动.我在拖曳大量论坛线程后发现了此修复程序,是将uiMode附加到AndroidManifest.xml文件中的android&#xff1a;configChanges属性&#xff1a;我想确保通过提交此更改,我不会破坏其他重要功…

刘庆敏 博客linux,Linux内核源码分析--zImage出生实录(Linux-3.0 ARMv7)

内核根目录下的vmlinux映像文件是内核Makefile的默认目标。这个vmlinux映像的生成可以通过阅读内核Makefile文件得知&#xff0c;简单的说&#xff1a;Makefile解析内核配置文件.config&#xff0c;递归到各目录下编译出.o文件&#xff0c;最后将其链接成vmlinux。而这个链接成…

HSSFworkbook,XSSFworkbook,SXSSFworkbook区别总结

HSSFworkbook,XSSFworkbook,SXSSFworkbook区别总结 用JavaPOI导出Excel时&#xff0c;我们需要考虑到Excel版本及数据量的问题。针对不同的Excel版本&#xff0c;要采用不同的工具类&#xff0c;如果使用错了&#xff0c;会出现错误信息。JavaPOI导出Excel有三种形式&#xff…