c语言-C 新手请教下面的代码哪里错了?

问题描述

C 新手请教下面的代码哪里错了?

e:cato3-1.cpp(1) : error C2628: 'SqStack' followed by 'void' is illegal (did you forget a ';'?)


void InitStack(SqStack &S)
{
if(!(S.base=(SElemType )malloc(STACK_INIT_SIZE*sizeof(SElemType))))
exit(OVERFLOW);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
}
void DestroyStack(SqStack &S)
{
free(S.base);
S.base=NULL;
S.top=NULL;
S.stacksize=0;
}
void ClearStack(SqStack &S)
{
S.top=S.base;
}
Status StackEmpty(SqStack S)
{
if(S.top==S.base)
return TURE;
else
return FALSE;
}
int StackLength(SqStack S)
{
return S.top-S.base;
}
Status GetTop(SqStack S,SElemType &e)
{
if(S.top>S.base)
{
e=
(S.top-1);
return OK;

}
else
return ERROR;
}
void Push(SqStack &S,SElemType e)
{
if(S.top-S.base>=S.stacksize)
{
S.base=(SElemType )realloc(S.base,(S.stacksize+STACK_INCREMENT)*sizeof(SElemType));
if(!S.base)
exit(OVERFLOW);
S.top=S.base+S.stacksize;
S.stacksize+=STACK_INCREMENT;
}
*(S.top)++=e;

}
Status Pop(SqStack &S,SElemType &e)
{
if(S.top==S.base)
return ERROR;
e=
--S.top;
return OK;
}
void StackTraverse(SqStack S,void(*visit)(SElemType))
{
while(S.top>S.base)
visit(*S.base++);
printf("
");
}

解决方案

在VC++下面运行C代码的方法

解决方案二:

你的代码应该是这样的

 struct SqStack
{
    SqStack * base;
    SqStack * top;
    int stacksize;
} //这里缺少一个分号

void InitStack(SqStack &S)
{
    if(!(S.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType))))
        exit(OVERFLOW);
    S.top=S.base;
    S.stacksize=STACK_INIT_SIZE;
}

时间: 2024-11-01 08:33:55

c语言-C 新手请教下面的代码哪里错了?的相关文章

新手求解答一下-谁替我解释一下这个代码,新手请教

问题描述 谁替我解释一下这个代码,新手请教 为什么j>=i? 解决方案 外层循环从i=min开始,直到i>max结束 内层循环从j=2开始,直到i能被j整除 或者 j>=i时结束. 当j>=1时说明j是素数,开始给素数累计count++. 解决方案二: //构建一个带两个参数并且需要返回int类型值的方法 public int countNumber(int min, int max) { int count = 0;//声明int(整数型)字段 名称为count 累计素数个数的计

新手请教,j2ee的工程如何跟代码进行调试呢?

问题描述 新手请教,j2ee的工程如何跟代码进行调试呢?是要打开什么端口还是怎么搞?麻烦老鸟们指导下,多谢多谢 解决方案 在你启动工程 时加上这些参数 -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n然后就可以用eclipse的远程 调试你的代码了,开放的端口是8000详细的可以参考这个http://www.ibm.com/developerworks/cn/opensource/os-eclipse-ja

各种语言、服务器301跳转代码全集

  这篇文章主要介绍了各种语言.服务器301跳转代码全集,本文讲解了IIS下301设置.ASP下的301转向代码.ASP.Net下的301转向代码.PHP下的301转向代码 .CGI Perl下的301转向代码.JSP下的301转向代码等内容,需要的朋友可以参考下 301跳转通常用在网站换域名和为了保持链接统一性所用的.比如你原来的域名www.a.com现在换成www.b.com,用了301跳转后,访问www.a.com/about.html就会自动变成www.b.com/about.html.

新手请教一个c的问题,关于指针赋初始值

问题描述 新手请教一个c的问题,关于指针赋初始值 #includeint main(){ char *p=NULL; scanf(""%s""p); printf(""%s""p); return 0;}这段代码我在ios的终端下运行就提示Segmentation fault:11但是不给p赋初值的话..改称char *p;反而好使了..为什么...请教别人说是编译器的问题.能不能稍微详细的说一下为什么.. 解决方案 要先弄清

winform-Winform多语言问题,请教大牛

问题描述 Winform多语言问题,请教大牛 正在开发一个winform项目,打算把画面对应多语言,直接用Form的Language属性,比如对应成:中文(简体)-中国,之后画面再有控件位置移动或者字体改变等操作,Designer多个位置就会出现下述一行代码: this.rb_MaterialSearch.ImageKey = global::ISA.Properties.Resources_zh_CN.frmSTYBBG601_DayOfWeek_Wednesday; 其中 this.rb_M

java-Java新手请教各位谢谢了

问题描述 Java新手请教各位谢谢了 这段代码我想通过if的条件,讲datalist中某些数据存入showlist中,有没有可能报空指针异常?我已经改成从后面遍历的了 解决方案 Java新手日常练习Java新手必读新手如何学习java 解决方案二: 试试在循环外用 dataList.removeAll(showList); 解决方案三: 已经不会报异常了, 你可以用try catch 捕获起来 解决方案四: dataList.remove(i);这个i是ViList的角标,当Vilist中个数比

新手请教:vb08 编写登陆界面后与数据库连接,再提交留言 怎么在数据库中更新?

问题描述 小弟现在用vb08编写了一个登陆界面(form1)并且已经和数据库连在一起现在登陆后弹出留言界面(form2)在这个界面中留言提交后怎么在form2的代码中引用form1的用户名把用户名和留言内容一起更新到表中请问有几种实现方式???新手请教,谢谢各位大哥 解决方案 解决方案二:定义一个curUser公共变量解决方案三:该回复于2011-12-19 13:53:28被版主删除解决方案四:Form1中定義一個static類變量,於Form2中調用例:'Form1中:dimusername

二进制-新手请教java文件操作的一个小问题~十分感谢

问题描述 新手请教java文件操作的一个小问题~十分感谢 这个类的功能是将任意一个二进制文件中的0压缩成0的数目+0的形式 即:将二进制文件中16进制显示的00压缩成 "0的数目+00的形式" 如00 00 00 1A 压缩成03 00 1A 待压缩文件16进制内容: 代码执行后后生成的文件却成了如图所示的情况 求教什么地方出错了,万分感谢. import java.io.*; public class FileCompression { public static void main

ftp服务器-java如何实现数据文件的自动采集?新手请教

问题描述 java如何实现数据文件的自动采集?新手请教 根据指定的目录,从FTP服务器将不定时推送的新文件采集到对应的数据库中,并且不会重复采集.文件基本是用YYYYMMDDHH格式的文件名区分,提供一下程序或者思路参考学习下 解决方案 首先,分析你要采集的信息是什么,对应设计你的数据库: 其次,编写文件内容处理的代码,解析文件的内容,生成解析后的数据,使用jdbc或者ORM框架完成数据入库: 最后,使用FTP连接工具如FTPClient,定时从服务器指定目录下载文件,循环调用文件解析模块,并记